- 导入模块:import requests
- 基本格式:requests.xxx(url,headers,params...)
- xxx是http的请求类型 -> get,put,post,delete…
- 参数讲解:
- url:需要发起请求的链接
- headers:构建请求URL时的消息头,字典格式
- params:添加请求URL时的参数,字典格式
- proxies:添加代理服务器,字典格式
- data:将放进data的数据转换为form表单数据
- data.encode('utf8'):默认的字符编码是latin-1
- json:将json对应的数据放进json参数里
- 注意:json 和 data二者只能同时存在其一
- timeout:设置超时时间
- 案例:
# requests练习1 -- 网页搜索人名 import requests query = input("请输入要搜索的人名:") url = f'https://cn.bing.com/search?q={query}' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40' } res = requests.get(url, headers=headers) # 输出响应体的文本内容 print(res.text) res.close()requests接收数据:
- 实例化对象:res = requests.get(url,headers,params...)
- requests接收响应数据的方法:
- res.text:获取响应体的文本内容
- res.status_code:获取响应体的状态码
- res.headers:获取响应体的消息头
- 可用字典方式进行查找(继承字典类型),可用dict(res.headers)转换为字典类型
- res.encoding:消息体的编码方式
- res.encoding = 'utf8'把编码转为utf8
- res.content:获取原始二进制数据
- res.content.decode('utf8'):将原始字节码转换为utf8
- res.json():接收json格式的数据,转换成字典返回
- res.cookies:获取服务器返回的cookies值
# requests练习2 -- 爬取豆瓣分类 import requests url = "https://movie.douban.com/j/new_search_subjects" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40" } params = { "sort": "U", "range": "0,10", "tags": "", "start": 0, "genres": "动画" } res = requests.post(url, params=params, headers=headers) print(res.text) res.close()Session类
- session会话对象可以跨请求保持某些参数,比如在同一个session实例发出的所有请求之间保持cookie信息。
# 模拟登陆请求: import requests data = { 'username':'root', 'password':'admin' } # 创建Session对象 session = requests.Session() # 通过Session对象,发送登陆请求 res = session.post("url",data=data) print(res.status_code) # 通过Session对象,发送请求 res1 = session.get("url") print(res1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)