目录
一、requests概述
二、安装方式
三、基本用法
四、参数解析
五、完整代码
六、重点知识
一、requests概述
Python自带的基于网络请求的模块,其功能强大、简单高效。
二、安装方式
利用 pip 安装
$ pip install requests
如果已经下载完anaconda,就可以不用下载,直接使用导包即可。
三、基本用法
1.指定url
# 1.url
url = "http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname"
2.发送请求【get、post】
# 2.发送请求
response = requests.post(url=url, data=parms, headers=headers)
3.获取页面信息
# 3.获取页面数据
response.encoding = "utf-8"
data_json = response.text
print(data_json)
text、json、content三种返回类型,根据想要爬取的页面灵活应用。
使用response.text 时,Requests 会基于 HTTP 响应的文本编码自动解码响应内容,大多数 Unicode 字符集都能被无缝地解码。
使用response.content 时,返回的是服务器响应数据的原始二进制字节流,可以用来保存图片等二进制文件。
4.存储数据
# 4.存储数据
with open(r"D:\file_all\企业课\爬虫\kfc.json", "w", encoding="utf-8") as fp1:
fp1.write(data_json)
另外,也要指定headers,来实现ua伪装,模拟浏览器上网
# ua 伪装 =》 模拟浏览器上网
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55'
}
四、参数解析
(一)post方法解析
url | 要请求的url路径 |
data | data必须是bytes(字节流)类型 |
headers | headers是一个字典类型,是请求头 |
(二)get方法解析
url | 要请求的url路径 |
params | 发送我们指定的内容,可以是传字典或者列表 |
headers | headers是一个字典类型,是请求头 |
五、完整代码
利用requests模块,进行抓取大连地域的肯德基餐厅信息,并保存在json文件中,完整代码如下:
import requests
import json
if __name__ == '__main__':
# 1.url
url = "http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname"
parms = {
'cname': '大连',
'pid':'',
'pageIndex':'1',
'pageSize':'10'
}
# ua 伪装 =》 模拟浏览器上网
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55'
}
# 2.发送请求
response = requests.post(url=url, data=parms, headers=headers)
# 3.获取页面数据
response.encoding = "utf-8"
data_json = response.text
print(data_json)
# 4.存储数据
with open(r"D:\file_all\企业课\爬虫\kfc.json", "w", encoding="utf-8") as fp1:
fp1.write(data_json)
六、重点知识
- request:
User-Agent: 请求载体的身份标识,模拟浏览器身份- response:
Content-Type:服务器响应client的数据类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)