python爬虫如何使用request库发送get请求?

765次阅读
没有评论

python爬虫如何使用request库发送get请求?

python爬虫中使用request库会比urllib库更加⽅便,request库可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求。那你python爬虫如何使用request库发送get请求吗?本文介绍python爬虫使用request库发送get请求的两种方法及response.text和response.content的区别。

方法一:通过requests.get来调用(最简单)

语法格式

response = requests.get("URL")

实例

import requests
response=requests.get("http://www.baidu.com/")
#查看响应内容 response.text返回的是Unicode格式的数据
#print(response.text)
#查看响应内容,response.content返阿的字节滤数据
print(response.content)
print(response.content.decode('utf-8'))
#查看完整URL
print(response.url)
print(response.encoding)
print(response.status_code)

方法二:添加headers和查询参数:

如果想添加headers,可以传入headers参数来增加请求头中的headers信息。如果要将参数放在url中传递,可以利用params参数。相关示例代码如下:

import requests
 
params={
    'wd':'迪丽热巴'
}
 
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
    Chrome/88.0.4324.150 Safari/537.36'
}
 
#这里加上cookie才能进行正常访问,还有说明一点这里的cookie是进入职位详情之后的cookie
 
response=requests.get("http://www.baidu.com/s",params=params,headers=headers)
#print(type(response.json()))
print(response.url)

补充:response.text和response.content的区别:

1、response.content:这个是直接从网络上面抓取的数据。没有经过任何解码。所以是一个bytes类型。其实在硬盘上和在网络上传输的字符串都是bytes类型。

2、response.text:这个是str的数据类型,是requests库将response.content进行解码的字符串。解码需要指定一个编码方式,requests会根据自己的猜测来判断编码的方式。所以有时候可能会猜测错误,就会导致解码产生乱码。这时候就应该使用response-content.decode( “utf-8”)`进行手动解码。

以上就是python爬虫使用request库发送get请求的两种方法及response.text和response.content的区别,希望能帮助是学习python爬虫哦。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-07-18发表,共计1369字。
新手QQ群:570568346,欢迎进群讨论 Python51学习