2011-04-05 15 views
13

Herhangi bir JavaScript web tarayıcısı çerçeve var mı?Herhangi bir java script web tarayıcısı çerçevesi var

+0

Eğer daha açık olabilir misin:

test paketi itibaren

, burada, New York Times web sitesinde tarama ilişkin bir örnek? JavaScript'te uygulanan bir web tarayıcısı mı arıyorsunuz? Sunucu tarafı (Node.js) veya istemci tarafı (tarayıcıda)? –

+4

İstemci tarafı webcrawler çerçevesi var mı? Bu nasıl çalışır? – Shakakai

+0

Sunucu tarafı javascript kullanarak üç API yazdım. 'Nodejs' komut satırından python'unu yapabileceğiniz kadar kolay çalıştırabilirsiniz. Bu tam olarak geçerli bir sorudur. – slezica

cevap

8

PhantomJS'u deneyin. Tam olarak bir tarayıcı değil, ancak bu amaçla kolayca kullanılabilir. Tam ekranlı WebKit motoruna sahiptir, ekran görüntülerini kaydetme özelliğine sahiptir. Basit komut satırı JS yorumlayıcısı olarak çalışır.

1

Sunucu tarafı?

deneyin düğüm-paletli: https://github.com/joshfire/node-crawler

+0

Bu, bir sonraki tarayıcının taranmasını derlemediği için bunu bir paletli olarak kabul etmem. Temelde belirli bir URL'nin kaynağını indirecek ve tamamlandığında bir geri arama tetikleyecektir. Bu sayfada sağlanan bağlantıların taranması için mantığı tanımlamak tüketiciye kalmış, çok kolay olmayan bir şey. –

10

yeni adil node.js için serbest edildi çerçeve spider denilen var. Bir web sitesinin HTML sayfalarını taramak/dizine eklemek için kapağın altındaki jQuery'yi kullanır. Özellikle jQuery'yi biliyorsanız, API ve yapılandırma gerçekten çok güzel.

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') 
    ; 
+0

Örümcek çalışması için bir sabah geçirin, en son 0.6.6 çalıştırılamaz. Node.js. – Kuroro

+0

Bu iyi bir başlangıçtır, ancak meta yönlendirme veya belge tabanı geçersiz kılmalarını ele almıyor gibi görünmektedir; bu nedenle, pek çok siteyi tarayamaz. Ama bu düğüm için gördüğüm en iyi uygulama. Ayrıca çerez desteği ile diğer açık kaynaklı tarayıcılardan daha iyidir. –

İlgili konular