为什么使用Requests库
python的标准库中urllib模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太好,Requests继承了urllib的所有特性,并且API使用更方便,可以简化我们的代码
安装方式
利用 pip 安装 或者利用 easy_install 都可以完成安装:
pip3 install requests
基本GET请求
import requests
url = 'http://college.gaokao.com/schlist/'
#params:跟的是get请求url地址后?后面拼接的参数
#请求头
headers = {
'User_Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}
response = requests.get(url,params=None,headers=headers)
# 也可以这么写
# response = requests.request( "get", "http://www.baidu.com/" )
#获取响应结果
print(response.text)#页面源码
print(response.status_code) #状态码
print(response.headers) #响应头
print(response.request.headers)#获取请求头
print(response.content) #获取页面的二进制数据
response的常用方法:
* response.text 返回解码后的字符串
* respones.content 以字节形式(二进制)返回。
* response.status_code 响应状态码
* response.request.headers 请求的请求头
* response.headers 响应头
* response.encoding = 'utf-8' 可以设置编码类型
* response.encoding 获取当前的编码
* response.json() 内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常
基本POST请求
*获取乐农客的用户登录信息
import requests
form_data = {
'username':'15533062171',
'password':'123456',
}
url = 'http://127.0.0.1:8000/api/login/'
headers = {
'User_Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}
response = requests.get(url,data=form_data,headers = headers)
* url:post请求的目标ur