Вопрос по web-crawler, javascript – Я бы не стал считать это сканером, поскольку он не компилирует последующие URI для сканирования. Он будет в основном загружать источник данного URL и вызывать обратный вызов по завершении. Потребитель должен определить логику для сканирования ссылок, представленных на этой странице, что не очень просто.

13

ли какой-нибудь фреймворк для JavaScript?

Не могли бы Вы уточнить? Вы ищете веб-сканер, реализованный на JavaScript? На стороне сервера (Node.js) или на стороне клиента (в браузере)? Matt Ball
Я написал три API с использованием серверного JavaScript. Вы можете запуститьnodejs из вашей командной строки так просто, как вы можетеpython, Это совершенно правильный вопрос. slezica
Есть ли клиентский каркас веб-сканера? Как это будет работать? Shakakai

Ваш Ответ

3   ответа
10

паук, Он использует jQuery для сканирования / индексации HTML-страниц сайта. API и конфигурация действительно хороши, особенно если вы уже знаете jQuery.

Из набора тестов приведен пример сканирования сайта New York Times:

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')
  ;
Это хорошее начало, но, похоже, он не обрабатывает мета-перенаправления или переопределения базы документов, поэтому не сможет сканировать многие сайты. Но это лучшая реализация, которую я видел для узла. И с поддержкой куки это лучше, чем другие сканеры с открытым исходным кодом. Marcus Pope
Потратьте утро, чтобы заставить работать паука, его нельзя запустить в последнем 0.6.6 node.js. Kuroro
1

Попробуйте сканер узлов:https://github.com/joshfire/node-crawler

Я бы не стал считать это сканером, поскольку он не компилирует последующие URI для сканирования. Он будет в основном загружать источник данного URL и вызывать обратный вызов по завершении. Потребитель должен определить логику для сканирования ссылок, представленных на этой странице, что не очень просто. Marcus Pope
8

PhantomJS, Не совсем гусеничный, но может быть легко использован для этой цели. Он имеет встроенный полнофункциональный движок WebKit, с возможностью сохранения скриншотов и т. Д. Работает как простой интерпретатор JS командной строки.

Похожие вопросы