文档:从 pythoneer 到 pythonista 的100个模块
链接:http://note.youdao.com/noteshare?id=2b95bb3651c21af80ca1936f8ecb1e0f&sub=635CA99241664308947C4F3BC1B5DDBF
文档:递归详解.note
链接:http://note.youdao.com/noteshare?id=5277776089054d9b730dc6b8d2114acd&sub=D2DC1AEE6417467A80D170CA55074A96
一、使用步骤
1 # 导包 2 import requests 3 # 确定基础url 4 base_url = 'https://www.baidu.com' 5 # 发送请求,获取响应 6 response = requests.get(base_url) 7 # 处理响应内容
二、requests.get()---get请求方法参数详解
1、参数
1 requests.get( 2 url=请求url, 3 headers =请求头字典, 4 params = 请求参数字典。 5 timeout = 超时时长, 6 )——>response对象
2、response对象的属性:
服务器响应包含:状态行(协议,状态码)、响应头,空行,响应正文
(1)响应正文:
字符串格式:response.text
bytes类型:response.content
(2)状态码:response.status_code
(3)响应头:response.headers(字典)
response.headers['cookie']
(4)响应正文的编码:response.encoding
response.text获取到的字符串类型的响应正文,其实是通过下面的步骤获取的:
response.text = response.content.decode(response.encoding)
(5)乱码问题的解决办法:
产生的原因:编码和解码的编码格式不一致造成的。
str.encode('编码')---将字符串按指定编码解码成bytes类型
bytes.decode('编码')---将bytes类型按指定编码编码成字符串。
a、response.content.decode('页面正确的编码格式')
<meta http-equiv="content-type" content="text/html;charset=utf-8">
b、找到正确的编码,设置到response.encoding中
response.encoding = 正确的编码
response.text——>正确的页面内容。
3、get请求项目总结:
a、没有请求参数的情况下,只需要确定url和headers字典。
b、get请求是有请求参数。
在chrome浏览器中,下面找query_string_params,将里面的参数封装到params字典中。
c、分页主要是查看每页中,请求参数页码字段的变化,找到变化规律,用for循环就可以做到分页。
三、post请求
1、参数
1 requests.post( 2 url=请求url, 3 headers = 请求头字典, 4 data=请求数据字典 5 timeout=超时时长 6 )——response对象 7 # post请求一般返回数据都是json数据。