python requests模块
程序员文章站
2023-12-23 23:41:51
requests模块安装常用方法requests添加代理cookiesession处理不信任的SSL证书安装cmd命令行里安装pip install requests开发者工具里安装常用方法requests.get(url, params=None, **kwargs):以get的方式请求url,如果有参数则在后边添加对应参数代码示例import requestsurl = 'https://www.baidu.com/s?'headers = { 'User-Ag...
requests模块
安装
- cmd命令行里安装
pip install requests
- 开发者工具里安装
常用方法
-
requests.get(url, params=None, **kwargs)
:以get的方式请求url
,如果有参数则在后边添加对应参数-
代码示例
以百度搜索为例,将我们要搜索的“你好”参数,定义一个字典,然后传给import requests url = 'https://www.baidu.com/s?' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'} # 保存搜索内容 wd = {'wd': '你好'} # 以get方式请求响应 response = requests.get(url, params=wd, headers=headers) print(response.text)
params
-
代码示例
-
requests.post(url, data=None, json=None, **kwargs)
:这个请求方式与get方式不同,所传参数都隐藏在Form Data
表单里,所以当我们传参时,需要定义一个字典,然后赋值给data-
代码示例
import requests import json content = input('请输入要翻译的内容:') # 翻译地址 request_url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' # data参数 data = {'i': content, 'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'client': 'fanyideskweb', 'salt': '15944508027607', 'sign': '598c09b218f668874be4524f19e0be37', 'ts': '1594450802760', 'bv': '02a6ad4308a3443b3732d855273259bf', 'doctype': 'json', 'version': '2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTlME', } # headers参数 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'} # 以post方式请求响应 response = requests.post(request_url, data, headers=headers) # 获取内容 html = response.text # 将json字符串转为字典 html = json.loads(html) print('翻译结果:', html['translateResult'][0][0]['tgt'])
-
代码示例
-
response.text
: 返回unicode格式的数据(str) -
response.content
: 返回字节流数据(二进制)-
注意 :
response.content.decode('utf-8')
手动进行解码,response.text
就是通过它解码而来的
-
注意 :
-
response.url
:返回url -
response.encode() = ‘编码’
:为所得内容编码
requests添加代理
使用requests添加代理只需要在请求方法中(get/post)传递proxies参数就可以了
代码示例
如果是http协议,则先定义字典proxy = {'http': '111.38.91.99:8060'}
否则是https协议proxy = {'https': '111.38.91.99:8060'}
然后进行传参
url = xxxxx
response = requests.get(url, proxies=proxy)
response = requests.post(url, proxies=proxy)
cookie
cookie :通过在客户端记录的信息确定用户身份
HTTP是⼀种无连接协议,客户端和服务器交互仅仅限于请求/响应过程,结束后断开,下⼀次请求时,服务器会认为是⼀个新的客户端,为了维护他们之间的连接, 让服务器知道这是前⼀个用户发起的请求,必须在一个地方保存客户端信息。
例如我们在访问知乎主页的时候,如果没有加入cookie参数,那么就会跳转到登陆页面,如果传进cookie参数,则会跳到知乎首页(此时是已登录状态)
session
session :通过在服务端记录的信息确定用户身份 这⾥这个session就是⼀个指的是会话
处理不信任的SSL证书
什么是SSL证书?
- SSL证书是数字证书的⼀种,类似于驾驶证、护照和营业执照的电⼦副本。 因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守 SSL协 议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能
处理不信任证书
如果遇到有不信任的证书这种情况,我们是获取不到内容的,想要获取内容,应在请求响应时将verity赋值为False即可获取网页内容
例如:requests.get(url,verity=False)
本文地址:https://blog.csdn.net/weixin_44604586/article/details/107287971