网址
http://www.kfc.com.cn/kfccda/storelist/index.aspx
代码如下
#!/usr/bin/python3.8
# -*- coding: UTF-8 -*-
# @Time : 2021/9/23 8:34
# @Author : keke618
# @File : get_kfc.py
# @Software: PyCharm
import requests
import pprint
# ua伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/87.0.4280.141 Safari/537.36 '
}
# 爬取肯德基餐厅ajax请求的url
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'
# 定制post请求 遍历获得全部数据
for i in range(1, 21):
data = {
'cname': '武汉',
'pid': '',
'pageIndex': i,
'pageSize': '10'
}
# 发起post请求,获取响应对象
res = requests.post(url=url, data=data, headers=headers).json()
# pp = pprint.PrettyPrinter(indent=2, width=80)
# 保存数据到本地
with open('get_kfc.json', 'a') as f:
# print(pp.pformat(res), file=f)
print(res, file=f)
思路讲解
打开f12 查看该网址的ajax请求的url
继续下一步之前可以看到response中已经获得了数据
滑动看到下方data 这个url应该是携带这个数据的
切换页面刷新得到下一页ajax
发现每一页变换的芝士pageindex 所以遍历获得即可