本文主要是介绍Python爬虫从入门到精通:(4)requests基础03_分页数据的爬取操作(爬取肯德基的餐厅位置数据)_Python涛哥,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分页数据的爬取操作
爬取肯德基的餐厅位置数据
url:http://www.kfc.com.cn/kfccda/storelist/index.aspx
分析:
-
在录入关键字的文本框中录入关键字按下搜索按钮,发起的是一个ajax请求
- 当前页面刷新出来的位置信息一定是通过ajax请求 请求到的数据
-
基于抓包工具定位到该ajax请求的数据包,从该数据包中捕获到:
-
请求的url
-
请求的方式
-
请求携带的参数
-
看到响应数据
-
-
爬取的第一页的数据
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword' data = {'cname': '','pid': '','keyword': '北京','pageIndex': '1','pageSize': '10' } # data 参数是post方法中处理参数动态化的参数 response = requests.post(url=url, data=data, headers=headers) page_text = response.json() for dic in page_text['Table1']:title = dic['storeName']addr = dic['addressDetail']print(title, addr)
结果如下:
-
爬取多页
爬取多页直接用 for 循环,一共10页,循环10次
for page in range(1, 11):url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'data = {'cname': '','pid': '','keyword': '北京','pageIndex': str(page),'pageSize': '10'}# data 参数是post方法中处理参数动态化的参数response = requests.post(url=url, data=data, headers=headers)page_text = response.json()for dic in page_text['Table1']:title = dic['storeName']addr = dic['addressDetail']print(title, addr)
这篇关于Python爬虫从入门到精通:(4)requests基础03_分页数据的爬取操作(爬取肯德基的餐厅位置数据)_Python涛哥的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!