文章目录
- Requests简介
- Requests库安装
- Requests库的基本操作
- Requests库的7个主要方法
- Request方法
- get方法
- Response对象的属性
- head方法
- post方法
Requests简介
提示:这里可以添加本文要记录的大概内容:
首先他是个第三方库,应用非常广泛
采用Apache2Licensed开源的HTTP协议
在urllib库基础上使用Python编写的爬虫库
提示:以下是本篇文章正文内容,下面案例可供参考
Requests库安装
Requests库的基本操作
【例】测试网站:哭笑不得语音情感组——情感标注页面
http://emotion.bxbw-jyz.cn/Home/index/showPartData.html
代码如下(示例):
import requests
r = requests.get("http://emotion.bxbw-jyz.cn/Home/index/showPartData.html")
demo = r.text
print(demo)
这行代码把页面所有代码全部输出了
百度谷歌尽量不要爬虫
Requests库的7个主要方法
方法 | 说明 | HTTP协议 |
---|---|---|
requests.request() | 构造一个请求 | HTTP |
requests.get() | 获取HTML网页的主要方法 | GET |
requests.head() | 获取HTML网页头的信息方法 | HEAD |
requests.post() | 向HTML网页提交POST请求方法 | POST |
requests.put() | 向HTML网页提交PUT请求的方法 | PUT |
requests.patch() | 向HTML网页提交局部修改请求 | PATCH |
requests.delete() | 向HTML页面提交删除请求 | DELETE |
【例】http://www.baidu.com/s?wd=keyword
import requests
kv={'wd':'Python'}
r = requests.get("http://www.baidu.com/s",
params=kv)
demo=r.text
print(r.request.url)
print(len(demo))
【例】http://emotion.bxbw-jyz.cn/Home/index/showPartData.html
import requests
r=requests.get("http://emotion.bxbw-jyz.cn/Home/index/showPartData.html")
print(r.status_code)
print(type(r))
Request方法
requests.request(method,url,**kwargs)
参数说明:
method:请求方式
url:页面url链接
**kwargs:控制访问参数,共13个
(1)params:字典或字节序列,作为参数增加到url中
requests.request(method,url,**kwargs)
**kwargs:控制访问参数,共13个
(2) data:字典:
字节序列或文件对象,Request内容
get方法
r=requests.get(url)
url:页面url链接
从服务器获取请求资源
生成Response对象(服务器返回的资源)
requests.get(url, params,**kwargs)
参数说明:
url:页面url链接
params:字典或字节序列
**kwargs:控制访问参数,共12个
Response对象的属性
属性 | 说明 |
---|---|
r.status_code | 返回状态码 |
r.text | 响应内容的字符串形式 |
r.encoding | 网页的编码方式 |
r.apparent_encoding | 分析得到的编码方式 |
r.content | 响应内容的二进制方式 |
head方法
requests.head (url,**kwargs)
参数说明:
URL:页面URL链接
**kwargs:控制访问参数,共12个
【例】http://emotion.bxbw-jyz.cn/Home/index/showPartData.html
【# 井号后的注释与运行截图后红圈对应的东西一致】
import requests
r=requests.head("http://emotion.bxbw-jyz.cn/Home/index/showPartData.html")
print(r.headers) # r.headers(代表着那几行数据)
print(r.text)
【同上一例】
import requests
r=requests.head("http://emotion.bxbw-jyz.cn/Home/index/showPartData.html")
print(r.headers)
print(r.text) # r.text(代表空行)
post方法
requests.post(URL,data,json,**kwargs
参数说明:
URL:页面URL链接
data:字典或字节序列
json:JSON格式的数据
**kwargs:控制访问参数,共11个
【例】
import requests
base_url="http://httpbin.org"
form_data={"user":"python39","pwd":'2022'}
#将参数存在字典里
r=requests.post(base_url+'/post',data=form_data)
print(r.url) #打印URL
print(r.status_code)
print(r.json())
print(r.text) #此处代码对应红框以外的数据
【例】http://emotion.bxbw-jyz.cn/Home/Index/CheckLogion.html
import requests
datas={
'login_name':'jn',
'login_psd':'123456',
}
r=requests.post("http://emotion.bxbw-jyz.cn/Home/Index/CheckLogion.html",data=datas)
demo=r.text
print(demo)