活动地址:CSDN21天学习挑战赛
requests库大总结:100天精通Python(爬虫篇)——第44天:requests库大总结_无 羡ღ的博客-CSDN博客_gv网址
主要学习requests的http模块,该模块主要用于发送请求获取响应。有很多的替代模块,比如说urlib模块, 但是在工作中用的最多的还是requests模块,requests的代码简洁易懂,相对于臃肿的urlib模块,使用requests编写的爬虫代码将会更少, 而且实现某功能将会简单。
输入对应的pip命令:pip install requests
方法/属性 说明
response = requests.get(url) 发送请求获取的响应对象(最常用)
response = requests.post(url) 发送请求获取的响应对象
response.url 响应的url;有时候响应的ur1和请求的urI并不一致
response.status_ code 响应状态码,如:200,404
response.request.headers 响应对应的请求头
response. headers 响应头
response.request.cookies 响应对应请求的cookie; 返回cookieJar类型
response.cookies 响应的cookie (经过了set- cookie动作; 返回cookieJar类型)
response.json() 自动将json字符串类型的响应内容转换为python对象 (dict or list)
response.text 返回响应的内容,str类型
response.content 返回响应的内容, bytes类型
通过requests向百度首页发送请求,获取该页面的源码
- import requests
-
- # 目标网址
- url = "http://www.baidu.com/"
-
- # 发送请求获取响应
- response = requests.get(url)
-
- # 查看响应对象的类型
- print(type(response))
- # 查看响应状态码
- print(response.status_code)
- # 查看响应内容的类型
- print(type(response.text))
- # 查看cookies
- print(response.cookies)
- # 查看响应的内容
- print(response.text)
-
- # 输出结果
- <class 'requests.models.Response'>
- 200
- <class 'str'>
27315 for .baidu.com/>]> - type content=text/html;charset=utf-8>type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css>
ç™¾åº¦ä¸€ä¸‹ï¼Œä½ å°±çŸ¥é“ #0000cc> - ³äºŽç™¾åº¦ About Baidu
id=cp>©2017 Baidu 使用百度å‰å¿
- 读 class=cp-feedback>æ„è§å馈 京ICPè¯030173å·
-
- b'\r\n
\xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80\xe4\xb8\x8b\xef\xbc\x8c\xe4\xbd\xa0\xe5\xb0\xb1\xe7\x9f\xa5\xe9\x81\x93 \xe5\x85\xb3\xe4\xba\x8e\xe7\x99\xbe\xe5\xba\xa6 About Baidu
©2017 Baidu \xe4\xbd\xbf\xe7\x94\xa8\xe7\x99\xbe\xe5\xba\xa6\xe5\x89\x8d\xe5\xbf\x85\xe8\xaf\xbb \xe6\x84\x8f\xe8\xa7\x81\xe5\x8f\x8d\xe9\xa6\x88 \xe4\xba\xacICP\xe8\xaf\x81030173\xe5\x8f\xb7
\r\n'
类型:str
解码类型: requests模块自动根据HTTP头部对响应的编码作出有根据的推测,推测的文本编码
类型:bytes
解码类型:没有指定,执行挑选通过decode来解决中文乱码:
response.content.decode():默认utf-8
response.content.decode('GBK')
常见的编码字符集:
utf-8
gbk
gb2312
asci
iso-8859-1
- import requests
-
- # 目标网址
- url = "http://www.baidu.com/"
-
- # 发送请求获取响应
- response = requests.get(url)
-
- # 手动设置编码格式
- response.encoding = 'utf8'
- # 打印源码的str类型数据
- print(response.text)
-
- # response.content是存储的bytes类型的响应数据,进行decode操作
- print(response.content.decode('utf-8'))
-
- # 输出结果
-
requests.get(ur1, headers=headers)
headers参数接收字典形式的请求头
请求头字段名作为key,字段对应的值作为value
- import requests
-
- # 目标网址
- url = "http://www.baidu.com/"
-
- # 构建请求头字典,最重要的就是User-Agent
- # 如果需要其他请求头,就在headers字典中加上
- headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'}
-
- # 发送请求获取响应
- response = requests.get(url,headers=headers)
-
- print(response.text)

暂无
了解到了python中requests库的使用。
暂无