Python爬虫post请求

爬取一个网站,所需数据的页面是Post请求,且每次访问的携带参数都不一样,返回的数据是相同的。该如何处理?就比如携程上的酒店信息,每一个数据都是post,且每次访问参数不一样

这种情况下,多半是你触发了平台的反爬机制,解决办法只有换个IP试试,或者等待一段时间再尝试看看,注意请求频率不宜过快。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7635587
  • 这篇博客你也可以参考下:python爬虫爬取百度翻译(post请求)
  • 除此之外, 这篇博客: Python发送Post请求及解析响应结果中的 九、获取请求的信息 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • print(f'请求url:{response.request.url}')
    print(f'请求方法:{response.request.method}')
    print(f'请求Header:{response.request.headers}')
    print(f'请求路径:{response.request.path_url}')
    

    执行结果:

    请求url:http://shop-xo.hctestedu.com/index.php?s=api/user/login&application=app&application_client_type=weixin
    请求方法:POST
    请求Header:{'User-Agent': 'python-requests/2.28.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '69', 'Content-Type': 'application/json'}
    请求路径:/index.php?s=api/user/login&application=app&application_client_type=weixin
    

你说的参数变化的多半是cookie的变化,可以先发起一次请求,把cookie获取到,然后用这个cookie再发起一次。

你要模拟登陆,然后才能post,你都没登陆,凭啥把数据给你看