如何在使用Python和lxml抓取时选择“加载更多结果”按钮

3 投票
2 回答
2498 浏览
提问于 2025-04-18 10:21

我正在抓取一个网页。这个网页上有50条信息。看完这50条后,会出现一个加载更多结果的按钮。我需要自动点击这个按钮。请问我该怎么做呢?我使用的是Python和Lxml来进行抓取。

2 个回答

1

你不能这样做。这个功能是由javascript提供的,而lxml是不会执行javascript的。

4

连JavaScript都在用http请求来获取数据,所以一种方法就是研究一下,当用户点击“加载更多结果”时,哪些请求在提供数据,然后模拟这些请求。

这不是传统的网页抓取,传统抓取是基于普通的或渲染后的html内容,并且通过检测进一步的链接来获取数据,但这种方法可以作为一个有效的解决方案。

接下来的步骤:

  • 在Google Chrome或Firefox浏览器中打开页面
  • 按F12键打开开发者工具或Firebug
  • 切换到“网络”标签
  • 点击“加载更多结果”按钮
  • 查看哪些http请求提供了加载更多结果的数据,以及它们返回了什么数据。
  • 尝试用Python模拟这些请求

需要注意的是,数据不一定是以HTML或XML的形式出现,也可能是JSON格式。不过Python提供了足够的工具来处理这种格式。

撰写回答