【安全合规】python爬虫从0到1 - ajax的post请求(肯德基餐厅位置查询)

简介: python爬虫从0到1 - ajax的post请求(肯德基餐厅位置查询)

先看浏览器中的网络请求:image.png附上源码:

# http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname
import urllib.request
import urllib.parse
def down_load(page):
    url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'
    headers = {
        'Cookie':'ARRAffinity=6385654a9a132fb312f7e965655660e2723317ef36750cdf9509cabb155e9905; ARRAffinitySameSite=6385654a9a132fb312f7e965655660e2723317ef36750cdf9509cabb155e9905; _ga=GA1.3.1156258771.1645768700; _gid=GA1.3.1891586264.1645768700; sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217f2f75999f128-0d7ab215fc8057-a3e3164-1327104-17f2f7599a0dc7%22%2C%22%24device_id%22%3A%2217f2f75999f128-0d7ab215fc8057-a3e3164-1327104-17f2f7599a0dc7%22%2C%22props%22%3A%7B%22%24latest_referrer%22%3A%22https%3A%2F%2Fwww.baidu.com%2Flink%22%2C%22%24latest_referrer_host%22%3A%22www.baidu.com%22%2C%22%24latest_traffic_source_type%22%3A%22%E8%87%AA%E7%84%B6%E6%90%9C%E7%B4%A2%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%7D%7D; Adshow=1; _gat=1'
       , 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
    }
    data ={
    'cname': '重庆' ,
    'pageIndex': page ,
    'pageSize': '10'
    }
    data = urllib.parse.urlencode(data).encode('utf-8')
    # 定制请求对象
    request = urllib.request.Request(url = url ,data = data, headers = headers )
    # 模拟浏览器向服务器发送请求
    response = urllib.request.urlopen(request)
    # 返回响应数据
    content = response.read().decode('utf-8')
    # 将数据下载到本地
    with open('location' + str(page) +'.json' , 'w',encoding='utf-8') as fp:
        fp.write(content)
if __name__ == '__main__':   #程序入口
    start_page = int(input('请输入起始页:'))
    end_page = int(input('请输入结束页:'))
    for page in range(start_page,end_page+1):
        down_load(page)  # 调用函数
    print('Finally')
相关文章
|
数据采集 存储 开发者
如何动态调整Python爬虫的Request请求延迟
如何动态调整Python爬虫的Request请求延迟
651 13
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
数据采集 消息中间件 NoSQL
分布式爬虫的全局请求间隔协调与IP轮换策略
分布式爬虫的全局请求间隔协调与IP轮换策略
|
前端开发 JavaScript
AJax(XHR+Get和Post+AJax的封装)
AJax(XHR+Get和Post+AJax的封装)
406 15
|
数据采集 Python
如何通过requests和time模块限制爬虫请求速率?
如何通过requests和time模块限制爬虫请求速率?
|
数据采集 Web App开发 文字识别
Python爬虫多次请求后被要求验证码的应对策略
Python爬虫多次请求后被要求验证码的应对策略
|
前端开发 API 开发者
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
330 4
|
前端开发 API 开发者
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
319 3
|
前端开发 JavaScript API
惊呆了!学会AJAX与Fetch API,你的Python Web项目瞬间高大上!
在Web开发领域,AJAX与Fetch API是提升交互体验的关键技术。AJAX(Asynchronous JavaScript and XML)作为异步通信的先驱,通过XMLHttpRequest对象实现了局部页面更新,提升了应用流畅度。Fetch API则以更现代、简洁的方式处理HTTP请求,基于Promises提供了丰富的功能。当与Python Web框架(如Django、Flask)结合时,这两者能显著增强应用的响应速度和用户体验,使项目更加高效、高大上。
386 2

推荐镜像

更多