
- 导入模块: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条)