Web scraping “自动化”;“加载更多”;按键

Web scraping “自动化”;“加载更多”;按键,web-scraping,Web Scraping,我试图刮一页,我有所有的代码集,只是我卡住了“加载更多”按钮。这个页面很简单,它有项目,但只有几个。在web浏览器上,要查看其余项目,您可以单击带有onClick事件的html按钮,当按下该按钮时,将加载更多项目,依此类推,直到所有项目都出现在页面上,然后该按钮消失。到现在为止,我发送了一个请求并将其存储在一个变量中,然后让BeautifulSoup解析它。如何将其余的项加载到该变量中?我应该采取不同的方法吗?是的,你必须采取不同的方法。让我解释一下原因 “加载更多”按钮通常会触发对站点API的

我试图刮一页,我有所有的代码集,只是我卡住了“加载更多”按钮。这个页面很简单,它有项目,但只有几个。在web浏览器上,要查看其余项目,您可以单击带有onClick事件的html按钮,当按下该按钮时,将加载更多项目,依此类推,直到所有项目都出现在页面上,然后该按钮消失。到现在为止,我发送了一个请求并将其存储在一个变量中,然后让BeautifulSoup解析它。如何将其余的项加载到该变量中?我应该采取不同的方法吗?

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

“加载更多”按钮通常会触发对站点API的新请求。然后JS代码将接收到的数据呈现到您正在观看的页面中。BS不是控制此类情况的选项-您必须自己实现行走逻辑

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

  • 使用scraper(或编写代码),它可以评估js代码(如selenium、Puppeter等Web驱动程序),并创建用于遍历和爬行生成DOM的脚本
  • 调查“加载更多”按钮正在使用的API。如果此API透明且易于使用,则通常可以通过它对所有需要的数据进行爬网(仅适用于请求模块)