使用“加载更多”按钮对POST请求进行网络抓取

时间:2020-10-17 18:19:04

标签: javascript python json firefox web-scraping

我正尝试从网站上抓取评论。用于注释的html不会出现在“查看页面源”中,因此我正在查看从POST请求生成的json输出。有了第一个POST请求,我就可以对响应进行网络抓取了。但是,我需要单击“加载更多评论”按钮以加载其他评论。加载其他注释会创建一个新的POST请求。但是,我不知道如何自动单击“加载更多评论”按钮,因为该源代码不在“查看页面源代码”中,并且在第一个POST请求的json响应中也看不到它。

例如,假设总共有17条评论。最初的POST请求将加载前10条注释。假设他们的ID为1-10。该请求的有效负载为loaded_ids=&load_all=0 要对此进行网络抓取,我从POST标头获得了网址。

要获取剩余的7条评论,我必须单击html页面本身上的“加载更多评论”按钮,并加载其余7条评论。该请求的有效载荷为loaded_ids=1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10&load_all=0 如您所见,它会请求前10个ID。但是,当我尝试从此POST标头中抓取网址时,它会输出由第一个POST请求做出的json响应。

我尝试修改第一个POST请求url,以查看是否可以获取第二个POST请求url输出,但这不起作用。

此外,仅供参考,我使用的是Firefox。

我的问题是

  1. 在哪里可以找到“加载更多评论”按钮的代码,以便我可以自动单击它?
  2. 如何对新的POST请求进行网络抓取以加载其他评论?

谢谢。

0 个答案:

没有答案