爬虫作业1:爬取肯德基餐厅地址查询

您所在的位置:网站首页 云上花园餐厅地址查询电话 爬虫作业1:爬取肯德基餐厅地址查询

爬虫作业1:爬取肯德基餐厅地址查询

2024-07-05 16:22| 来源: 网络整理| 查看: 265

网址:https://www.kfc.com.cn/kfccda/index.aspx 流程与爬取豆瓣电影排行榜一致 分析一下网站: 进入肯德基官网: 在这里插入图片描述 点击最下面,餐厅查询。 餐厅关键词写一个城市,例如:北京 记住此时的URL; 然后点击查询,如果当前的URL和之前没有点击查询前的URL不一致,那么这就不是一个Ajax请求;如果变化了,则是。

点击后发现并未变化,页面进行了局部刷新,为Ajax请求,这个请求对应的数据包,我们对数据包所指定的URL发起请求就可以拿到这些餐厅位置信息了。

打开抓包工具: 选择Network–XHR,看到了这个数据包 在这里插入图片描述 这是一个POST请求, 往下拉,查看POST请求的携带参数: cname: pid: keyword: 北京 pageIndex: 1 pageSize: 10

同理,keyword可以设置为动态的,pageIndex为第一页。 响应数据:text数据

# -*- coding: utf-8 -*- """ Created on Wed Nov 18 16:04:26 2020 @author: 1 """ import requests if __name__ == "__main__": ''' 第一步:url的指定: http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword 问号后的参数都封装到字典里 ''' url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword' keyword = input('enter location') page = input('enter page') data = { 'cname':'', 'pid':'', 'keyword':keyword, 'pageIndex':page, 'pageSize':10, } #进行UA伪装 headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36' } ''' 第二步:请求发送 ''' response = requests.post(url=url,data=data,headers=headers) ''' 第三步:获取响应数据 ''' page_text = response.text ''' 第四步:持久化存储 ''' filename = keyword+'.html' with open(filename,'w',encoding='utf-8') as fp: fp.write(page_text) print(filename,'保存成功!!!')

在这里插入图片描述 结果,打开深圳.html: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3