目录
requests库中文文档:http://cn.python-requests.org/zh_CN/latest/
设置代理
import requests
url = 'http://httpbin.org/ip'
proxies = {
"http":"180.191.159.22",
"https":"180.191.159.22",
}
req = requests.get(url,proxies=proxies)
print(req.text)
获取数据
import requests
url = 'http://httpbin.org'
req = requests.get(url)
print(req.text) # 使用text打印响应内容,字符串形式,打印出的数据中如果有乱码的,先使用encoding='utf-8'对返回的信息重新编码。
print(req.content) # 使用content打印响应内容,二进制响应内容,字节串形式
print(req.url) # 获取当前请求的url
print(req.status_code) # 获取请求后的状态码
print(req.json()) # 将响应数据转为字典类型
print(req.headers) # 响应头
print(req.request.headers) # 请求头信息
print(req.cookies) # cookie信息
print(req.encoding) # 文本编码方式
print(req.raw) # 返回一个响应的对象,对这个对象可以使用read等方法
请求方法常用参数
'''
# request是基于urllib3的库,最终的请求方法的参数如下:
def request(self, method, url,
params=None, data=None, headers=None, cookies=None, files=None,
auth=None, timeout=None, allow_redirects=True, proxies=None,
hooks=None, stream=None, verify=None, cert=None, json=None):
# 请求方式method,不作为参数使用,通常作为requests的方法使用,.get()或者.post()
# 发送请求时的请求数据:params,字典类型,不需要转码,会自动将请求数据转为字节串类型的数据
# 重定向allow_redirects,默认为True,不允许时改为False
# headers(同urllib3)、cookies(字典形式)、timeout(同urllib3)
# 证书验证verify,如果运行过程中出现SSLError错误,说明需要证书验证,这时可以将verify的值设为False,
# 表示不做证书验证。运行过程中如果出现warnings的警告信息,可以使用requests.packages.urllib3.disable_warnings()方法忽略警告。
# data参数。只在post请求方式中使用,会转换为请求中form表单数据传入
# json同data参数,一般使用其中一种来传递。
'''
session对象
import requests
url = 'http://www.baidu.com'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}
# 未添加session的结果
req = requests.get(url=url)
print(req.headers)
# 添加了session的结果
req_se = requests.session() # 创建一个session对象
req_se.headers = headers # 给创建的session对象添加请求头数据
req = req_se.get(url=url)
print(req.headers)
未使用session对象
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Tue, 22 Dec 2020 13:26:20 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:28:12 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}
使用session对象
{'Bdpagetype': '1', 'Bdqid': '0xd75037a80003341d', 'Cache-Control': 'private', 'Connection': 'keep-alive', 'Content-Type': 'text/html;charset=utf-8', 'Date': 'Tue, 22 Dec 2020 13:26:20 GMT', 'Expires': 'Tue, 22 Dec 2020 13:26:20 GMT', 'P3p': 'CP=" OTI DSP COR IVA OUR IND COM ", CP=" OTI DSP COR IVA OUR IND COM "', 'Server': 'BWS/1.1', 'Set-Cookie': 'BAIDUID=7CE3EC6B340AAF67EBE09C795224C330:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, BIDUPSID=7CE3EC6B340AAF67EBE09C795224C330; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, PSTM=1608643580; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, BAIDUID=7CE3EC6B340AAF67ED6B58570FFF52C4:FG=1; max-age=31536000; expires=Wed, 22-Dec-21 13:26:20 GMT; domain=.baidu.com; path=/; version=1; comment=bd, BDSVRTM=6; path=/, BD_HOME=1; path=/, H_PS_PSSID=1426_33225_33306_33258_31660_33284_33287_33343_33313_33312_33169_33311_33310_32846_33309_33308_33307_33145_22157; path=/; domain=.baidu.com', 'Traceid': '1608643580063029069815514961910985602077', 'Vary': 'Accept-Encoding, Accept-Encoding', 'X-Ua-Compatible': 'IE=Edge,chrome=1', 'Transfer-Encoding': 'chunked'}

5197

被折叠的 条评论
为什么被折叠?



