前言:基于前两篇的理论学习以及通过练习来学习,这里将继续通过练习来巩固所学知识。如果你有更加简便和漂亮的代码,欢迎多多交流!
尝试内容:爬kfc餐厅信息查询肯德基餐厅信息查询 (kfc.com.cn)该网站
首先:查询一些所需要的基础信息(如下图所示),也是学习用《python爬虫》那一篇的知识
其次:采集完了以后开始编写一些固定化的代码:
1.ua伪码:
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29'
}
2.url码:
url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx'
3.处理数据:
keyword=input('plz enter a place:')
param = {
'cname': '',
'pid': '',
'keyword': keyword,
'pageIndex': '1',
'pageSize': '20',
'op': 'keyword',
}
4.简单的发送请求代码post和获取所返回的数据text
response = requests.post(url=url,params=param,headers=headers)
dict_data = response.text
5.存储数据
filename=keyword+'.json'
fp = open(filename, 'w', encoding='utf-8')
json.dump(dict_data, fp=fp, ensure_ascii=False)
最后将全部整合在一起可以得到一段漂亮的代码:
import requests
import json
if __name__=='__main__':
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29'
}
url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx'
keyword=input('plz enter a place:')
param = {
'cname': '',
'pid': '',
'keyword': keyword,
'pageIndex': '1',
'pageSize': '20',
'op': 'keyword',
}
response = requests.post(url=url,params=param,headers=headers)
dict_data = response.text
filename=keyword+'.json'
fp = open(filename, 'w', encoding='utf-8')
json.dump(dict_data, fp=fp, ensure_ascii=False)
print("over!")