alltut 2025-11-27 20:53 采纳率: 0%
浏览 5

关于学习爬虫中的问题,POST请求遇到的问题

我在照着视频学爬虫,学到用Requests模块发送POST请求了,
但是最近遇到了点困难,视频里面抓包抓到了ajax请求

img


可是我抓出来的却是这样的,没有ajax请求,但是我也在第一个包里找到了From data,里面有表单数据。

img


之后视频里面要在ajax请求几面找到Response,Response里面有类似Json形式的数据,就是下面的这个图。

img


然后,下面的是我的自己弄的,没有这个数据。

img


这个数据是下面这张图片的左边的部分。

img


想请问大家一下该怎么办呢?为什么我弄出来的和视频里不一样呢?学到这里就卡住了,找不到这个数据就没办法吧翻译结果弄出来。
我想知道上面是什么原因,可以帮帮我吗,非常感谢!谢谢!

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2025-11-27 20:56
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    你正在学习爬虫,特别是使用 Requests 模块发送 POST 请求。然而,你遇到了一个问题:你抓包抓到了 AJAX 请求,但是你的代码中没有 AJAX 请求。同时,你在第一个包里找到了 Form Data。

    解决方案

    可能的原因是:

    1. 异步请求: AJAX 请求可能是异步的,这意味着它不会立即发送请求,而是会在后台发送。检查你的网页源代码,看是否有异步请求的脚本。
    2. Form Data: 你在第一个包里找到了 Form Data,这可能是因为你的网页使用了 Form Data 来发送请求。检查你的网页源代码,看是否有 Form Data 的提交。
    3. 请求头: 检查你的请求头,看是否有必要的请求头(例如 Content-TypeAccept 等)。

    建议

    1. 检查网页源代码: 检查你的网页源代码,看是否有异步请求的脚本或 Form Data 的提交。
    2. 检查请求头: 检查你的请求头,看是否有必要的请求头。
    3. 使用 Fiddler 或 Chrome DevTools: 使用 Fiddler 或 Chrome DevTools 来抓包和分析请求。

    核心代码

    import requests
    
    # 设置请求头
    headers = {
        'User-Agent': 'Mozilla/5.0',
        'Content-Type': 'application/x-www-form-urlencoded'
    }
    
    # 设置 Form Data
    data = {
        'key': 'value'
    }
    
    # 发送 POST 请求
    response = requests.post(url, headers=headers, data=data)
    
    # 打印响应内容
    print(response.text)
    

    请注意,这是核心代码,可能需要根据你的具体情况进行调整。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月27日