首页 > 解决方案 > 从网站收集名称,同时按下按钮加载更多名称

问题描述

一位同事早些时候问过我这个问题,老实说,我不确定如何解决它。

基本上,有一个网站名称(https://www.change.org/p/outrageous-water-bills-let-cpuc-know-that-sjwc-s-unfair-billing-practices-need-to-stop /c?source_location=petition_show)。

我的同事正在寻找所有这些名字......并且到目前为止是手动完成的。最大的问题是底部有一个“加载更多”按钮,必须一次又一次地按下才能加载更多名称。

所有的名称都包含在 HTML 中<strong class="link-unlined">Example Name</strong>,因此抓取应该不会太难,但我不确定它是不断按下的按钮。

在不“烧毁”网页的情况下一遍又一遍地激活按钮的最佳方法是什么?我认为这里可能有超过 10,000 个名称,并且一次只能加载 10 个。

按钮本身是<div class="js-load-more"><button type="button" class="btn btn-full btn-big"><span data-loading-text="Loading..." class="text">Load more </span></button></div>......但是,我似乎无法确定点击本身是如何被监控/跟踪的,所以我不确定是否有办法覆盖它?

标签: javascripthtmlbutton

解决方案


单击“加载更多”按钮后,它会调用此 API/URL 并检索接下来的 10 条评论。

https://www.change.org/api-proxy/-/comments?limit=10&offset=0&commentable_type=Event&commentable_id=8256626&parent_id=0&role=comment&before_datetime=2018-04-20T21%3A27%3A01Z

您可以调用相同的链接,修改参数以获取所有或下一组评论。


推荐阅读