自动按下"load more"按钮



我正在尝试抓取一个页面,我已经设置了所有的代码,只是我被困在了"加载更多";按钮页面很简单,它有项目,但只有几个。在web浏览器上,要查看其余项目,您可以单击具有onClick事件的html按钮,当按下该按钮时,会加载更多项目,以此类推,直到所有项目都在页面上,然后它就会消失。到目前为止,我发送了一个请求并将其存储在一个变量中,让BeautifulSoup解析它。我该如何将其余项加载到该变量中?我应该采取不同的方法吗?

是的,您必须采取不同的方法。让我解释一下原因。

"加载更多";按钮通常会触发对站点API的新请求。然后JS代码将接收到的数据渲染到您正在观看的页面中。BS不是控制这种情况的一种选择——你必须自己实现行走逻辑。

在这种情况下有两种方法:

  1. 使用scraper(或编写代码(,它可以评估js代码(如selenium、puppeteer等网络驱动程序(,并创建用于遍历和爬网结果DOM的脚本
  2. 调查API;加载更多";按钮如果这个API透明且易于使用,通常可以通过它抓取所有需要的数据(仅使用请求模块(

最新更新