我正在抓取一个网页。该网页包含 50 个条目。 50 个条目后,它给出了 加载更多结果按钮。我需要自动选择它。我该怎么做。对于抓取,我使用 Python、Lxml。
最佳答案
即使 JavaScript 也在使用 http 请求来获取数据,因此一种方法是调查当用户要求“加载更多结果”并模拟这些请求时哪些请求正在提供数据。
这不是传统的抓取,它基于纯文本或呈现的 html 内容并检测进一步的链接,但可以是可行的解决方案。
下一步行动:
- 在 Google Chrome 或 Firefox 中访问页面
- 按 F12 启动开发者工具或 Firebug
- 切换到“网络”标签
- 点击“加载更多结果”
- 检查哪些 HTTP 请求为加载更多结果提供了数据以及它们返回了哪些数据。
- 尝试从 Python 模拟这些请求
请注意,数据不一定采用 HTML 或 XML 格式,但可以采用 JSON 格式。但是 Python 也提供了足够的工具来处理这种格式。
关于python - 使用 Python 和 lxml 抓取时如何选择 "Load more results"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24304640/