失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 爬虫作业1:爬取肯德基餐厅地址查询

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

时间:2023-03-21 12:39:58

相关推荐

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

网址:/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 @author: 1"""import requests if __name__ == "__main__":'''第一步:url的指定:/kfccda/ashx/GetStoreList.ashx?op=keyword问号后的参数都封装到字典里'''url = '/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:

如果觉得《爬虫作业1:爬取肯德基餐厅地址查询》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。