官网文档–http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
发送get,post请求
- res=requests.get(url) #发送get请求,请求url地址对应的响应
- res=requests.post(url,data={请求的字典}) #发送post请求
#post请求
import requests
url="http://fanyi.baidu.com/sug"
data={'kw':'早上好'}#该字典键值对的形式可以通过form data中查询
headers={
"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Mobile Safari/537.36"
}
res=requests.post(url,data=data,headers=headers)
print(res.text)
response方法
- res.text(该方法往往会出现乱码,出现乱码使用res.encoding=’utf-8’ 或者res.encoding=res.apparent_encoding)
- res.content.decode(‘utf-8’)#或者’gbk’
- res.json() #针对响应为json字符串解码为python字典
- res.request.url #发送请求的url地址
- res.url #res响应的url地址(页面跳转时,请求的url地址与真正打开的url地址是不同的)
- res.request.headers #请求头
- res.headers #res响应头
发送带有header的请求
headers={请求体}#User-agent>>>Referer>>Cookie
-为了模拟浏览器,获取和浏览器一样的内容
超时参数 timeout
requests.get(url,headers=headers,timeout=3) #3秒内必须返回响应,否则会报错
一般为了避免再发出请求过程中出现异常而中断请求,一般采用retrying中的retry函数(作为装饰器调用)
from retrying import r