requests目前基本上完全满足web请求的所有需求,以下是requests 的特性:
import requests
>>>res=requests.get("https://www.baidu.com")
>>>res.status_code
200
>>>res.headers["content-type"]
'text/html'
>>>res.encoding
>>>res.text
method, 请求方法
url, 资源地址
params=None, 查询参数也叫做查询字符串
data=None, post请求的表单数据
headers=None, 请求头
cookies=None, cookies
files=None, # 文件
auth=None, # 校验身份
timeout=None, 超时时间
allow_redirects=True, # 重定向
proxies=None, 代理
hooks=None,# 钩子函数
stream=None,#
verify=None, 证书忽略
cert=None, # 字符串 --证书的地址 元组()
json=None, post 请求的JSON数据
headers = {"user-agent': 'ny-app/0.0.1*}
resp = requests.get(url,headers=headers)
cookies = {'cookies_are': 'working'}
resp =requests.get(url,cookies=cookies)
resp =requests.get(*http://github.com',timeout=0.0001)
proxies ={"http’: '127.0.0.1:10809', "https': '127.0.0.1:10809'}
resp =requests.get(*http://example.org', proxies=proxies)
res=requests.get (url,allow_redirects=False)
resp =requests.get(*http://httpbin.org/post', verify=False)
json = {'json_style': "json-data'}
resp =requests.post("http://httpbin.org/post',json=json)
处理表单ctrl+r (.*): (.*) "$1": "$2",
data = {"datal": "spider","data2":“验证数据"}
resp =requests.post(*http://httpbin.org/post', data=data)
print(res.text)#直接转换成字符串 非字节码
print(res.content)#图片数据 使用此参数
print(res.status_code)#状态码
print(res.json()["headers"]["User-Agent"])#自动转换成 字
典格式
# 一定要确保你使用的格式是json格式的数据
print(res.headers)#响应头
print(res.cookies)#响应cookie
print(res.url)#请求的url
print(res.request.url)#请求的url
print(res.request.headers)#请求头
resp = requests.get(*http://httpbin.org/get')
resp.encoding = 'utf-8'
1,创建一个session对象
2,找到登录页面的post请求网址
3,先登录(带cook)
4,在去get想要的网址
session=requests.session()#创建session对象
session.headers=headers#添加请求头
res_ss=session.get(index_url)