有没有任何Java脚本Web爬虫框架

时间:2011-04-05 17:27:53

标签: javascript web-crawler

是否有任何JavaScript网络抓取工具框架?

3 个答案:

答案 0 :(得分:10)

有一个新的框架刚刚发布,名为spider的Node.js。它使用jQuery来抓取/索引网站的HTML页面。 API和配置非常好,特别是如果您已经了解jQuery。

从测试套件中,这是一个爬行纽约时报网站的例子:

var spider = require('../main');

spider()
  .route('www.nytimes.com', '/pages/dining/index.html', function (window, $) {
    $('a').spider();
  })
  .route('travel.nytimes.com', '*', function (window, $) {
    $('a').spider();
    if (this.fromCache) return;

    var article = { title: $('nyt_headline').text(), articleBody: '', photos: [] }
    article.body = '' 
    $('div.articleBody').each(function () {
      article.body += this.outerHTML;
    })
    $('div#abColumn img').each(function () {
      var p = $(this).attr('src');
      if (p.indexOf('ADS') === -1) {
        article.photos.push(p);
      }
    })
    console.log(article);
  })
  .route('dinersjournal.blogs.nytimes.com', '*', function (window, $) {
    var article = {title: $('h1.entry-title').text()}
    console.log($('div.entry-content').html())
  })
  .get('http://www.nytimes.com/pages/dining/index.html')
  .log('info')
  ;

答案 1 :(得分:8)

试试PhantomJS。不完全是爬虫,但可以很容易地用于此目的。它具有内置的全功能WebKit引擎,能够保存屏幕截图等。作为简单的命令行JS解释器。

答案 2 :(得分:1)

服务器侧λ

尝试使用node-crawler:https://github.com/joshfire/node-crawler

相关问题