一起进步吧!感谢大家的支持和关注
需求
将餐厅的位置信息进行数据爬取
分析
目标地址:https://www.kfc.com.cn/kfccda/storelist/index.aspx
问题
- 发起的是post请求
- 载荷只有cname变化
- 持续化存储怎么换行
- 文件以为什么用追加方式
- post中参数用data传递
源代码
import requests
# 分析
# https://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname
# 载荷只有cname 变化
# post请求
head = { # 存放需要伪装的头信息
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
# post请求的请求参数
data = {
"cname": "北京",
"pid": "",
"pageIndex": "1",
"pageSize": "10",
}
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'
# 在post请求中,处理请求参数的是data这个参数不是params
res = requests.post(url=url, headers=head, data=data).json()
for dic in res['Table1']:
name = dic['storeName']
addr = dic['addressDetail']
with open("kfc.txt","a",encoding="utf-8") as f:
text =f"店名:{name} 地址:{addr} \n"
f.write(text)
print("爬取成功")