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免费测试