爬取肯德基餐厅信息(requests模块)

首先打开肯德基餐厅主页,找到下面的餐厅查询点击进入。在这里插入图片描述
通过检查打开浏览器自带抓包工具。点击搜索我们发现页面只有局部刷新。那么此时应该是ajax请求了。那么此时我们通过抓包工具XHR里面的请求。然后我们查看该url,请求为post,携带的参数Form-Data。content-type为text文本类型。了解这些必备参数之后,我们就可以进行爬取数据了。在这里插入图片描述在这里插入图片描述
通过调整 ‘keyword’: ‘’,
‘pageIndex’:’’,
‘pageSize’: ‘’,三个参数我们可以获取我们想要搜索的关键字,页面,页面长度。代码如下:

import requests
if __name__=="__main__":
    url ="http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword"
    param={
    
    
            'cname':'',
            'pid':'',
            'keyword': '上海',
            'pageIndex':'2',
            'pageSize': '20',
    }
    headers = {
    
    
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Edg/86.0.622.38'
    }
    response = requests.get(url=url, params=param, headers=headers)
    page_text = response.text
    print(page_text)
    # step4:持久化存储
    with open('./kendeji.txt', 'w', encoding="utf-8") as fp:
        fp.write(page_text)
    print("爬取数据结束")

通过对结果观察,这些数据符合json格式,可以使用[该网站]进行json校验格式化,来阅读。如图所示
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45701131/article/details/109314056