这是较为基础的肯德基门店地址的爬取,网上有很多的教程,此处作为练手贴出代码。
下面的就是基础的代码,不能翻页,也不能改地址,是最简单的爬取了
import requests
import json
#获取网页
#网页在页面右击check中,network- Fetch/XHR里
url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
#发送请求
#User-Agent是每个人不一样的,需要找到并替换
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'}
param={'cname':'',
'pid':'',
'keyword': '北京',
'pageIndex': '1',
'pageSize': '10'}#在网页的最底下有,复制过来加上引号即可
response=requests.post(url=url,data=param,headers=header)
#获取响应数据
kfc_data=response.json()
#永久化存储
fp=open('./kfc.json','w',encoding='utf-8')
json.dump(kfc_data,fp=fp,ensure_ascii=False)
print('爬取结束')
下面是做了一点点改动以后,可以选择不同的地址。
变化仅仅在两处:
1.param的设置,将原有的’北京‘改为input地址。
2.最后的#永久化存储 。 文件命名改成了和地址有关的,而不是固定的。
import requests
import json
#获取网页
#网页在页面右击check中,network- Fetch/XHR里
url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
#发送请求
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'}
data=input('enter a city:')
param={'cname':'',
'pid':'',
'keyword': data,
'pageIndex': '1',
'pageSize': '10'}#在网页的最底下有,复制过来加上引号即可
response=requests.post(url,headers=header,data=param)
#获取响应数据
kfc_data=response.json()
#永久化存储
filename=data+'.json'
fp=open(filename,'w',encoding='utf-8')
json.dump(kfc_data,fp=fp,ensure_ascii=False)
print('爬取结束')
下面是在该地址的基础上做翻页的。
还没有学会 QAQ