0

我想用js爬取一个网站,但是网站使用ajax来分页内容。一开始只能爬取首页内容。您必须单击一个按钮(下一页),该网站使用 ajax 来更新网页的内容。

问:我可以用js找到按钮,然后点击。但是我怎么知道页面何时重新加载。我可以获取更新的内容。

谢谢。

4

2 回答 2

0

我会使用“无头”浏览器来完成这样的任务:

幻影JS

卡斯帕

尤其是 casperJS 的click功能可以按照你的意图使用。

或者填写表格的给定示例非常简单:

casper.start('http://google.fr/', function() {
    // search for 'casperjs' from google form
    this.fill('form[action="/search"]', { q: 'casperjs' }, true);
});

来自casperJs 的快速入门。

于 2013-05-31T08:19:59.367 回答
0

在这种情况下,您尝试爬取的 Web 上下文包括通过 AJAX 的动态内容,如果您想使用 Javascript 来实现这一目标,CasperJS 是一个很好的选择。您可以使用它来触发事件、添加流程步骤、包含在每次 ajax 调用之后等待和验证的函数,然后再处理任何下一步。

这是一个示例如何使用 CasperJS 和 JQuery
CasperJs 和使用链式选择的 Jquery爬取网站

这是一个如何使用 CasperJS 和仅 Javascript
CasperJS 动态选择列表抓取网站的示例

于 2013-05-31T13:41:05.150 回答