get请求
response =requests.get(url,params,headers,cookies,timeout)
其中url是请求的网页地址,params可以传递参数,一般是字典的数据格式,headers是请求头,也是字典的格式,一般包含UA信息(User-Agent)和Referer(防盗链)。timeout是设置超时的时间。
response.text 返回headers中的编码解析的结果
response.content 返回二进制结果
response.json() 返回JSON格式,等同于json.loads(response.text)方法,可能抛出异常。
response.status_code 返回获取网页时的状态码,200为正常访问。
response.raw 返回原始socket respons,需要加参数stream=True。
response.encoding 可以定义网页的编码方式
post请求
response = requests.post(url,data,files)
url是提交请求的网址,data是一个字典形式的数据表单,files是在文件上传时使用的,需要传入一个类似于{‘files’:open(文件路径,mode)}的字典。
会话保持(session)
cookies的一个作用就是可以用于模拟登陆,做会话维持,而使用session可以将cookies信息保存下来,下次请求时就不需要再次传入cookies。
session = requests.Session()
session.get(url)
将网页的cookies信息传入session中,下次访问网页时会自动传入cookies。
证书验证
在requests.get(url,verify)
中verify默认是True,可以设为False,会跳过证书验证,也可以设为一个证书路径,则会验证该指定证书。
设置代理
proxies = {
"http": "http://user:password@127.0.0.1:9743/",
"https": "https://user:password@127.0.0.1:9743",
}
当需要用户名和密码时就要添加“user:password@”这一段,如果不需要密码,则去除这一段。
通过response = requests.get(url, proxies=proxies)
使用代理ip来访问网页。