需求:输入城市名称就可以查询到所在地区的肯德基餐厅门店地址,并以文本形式保存。
文章目录
一、打开肯德基官方网站利用抓包工具进行分析二、编码三、总结一、打开肯德基官方网站利用抓包工具进行分析
示例:在餐厅关键字中输入杭州,点击查询。同时我们可以在Network的XHR中看到有一个ajax请求的数据包,分析得出是post请求,返回回来的内容是text, 如图1所示。
从图2中可以看出,请求携带的参数是5个。
二、编码
1.翻页用for循环
2.存储文件时模式为a追加写入
import requestsif __name__ == "__main__":url ='/kfccda/ashx/GetStoreList.ashx?op=keyword'#1.指定url#UA伪装headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}kw = input('enter a place')#让用户键入数据for pageIndex in range(0, 16):#for循环实现翻页pageIndex = str(pageIndex)#转换成字符串#data里面封装了url携带的参数data = {'cname': '','pid':'','keyword': kw,'pageIndex': pageIndex,'pageSize': '10'}response = requests.post(url=url, data=data, headers=headers)#2.发起post请求page_text = response.text#3.获取请求数据filename = kw+'的肯德基门店位置有:'with open(filename, 'a', encoding='utf-8') as fp:#4.持久化存储,模式为a追加fp.write(page_text)print('over')
三、总结
1.记住requests模块编码的四个流程。
2.翻页功能应该有更好的实现方式。
3.爬取到的数据还要进行下一步处理,请见后面的博客。
如果觉得《python爬虫翻页操作——ajax肯德基餐厅门店信息爬取》对你有帮助,请点赞、收藏,并留下你的观点哦!