2014-10-30 18 views
5

nodejs için Scrapy gibi bir şey olup olmadığını bilmek isterim. değilse, basit bir sayfa indirmeyi ve cheerio kullanarak ayrıştırma hakkında ne düşünüyorsunuz? daha iyi bir yol var mıScrapy gibi bir araç?

cevap

1

Python'da Scrapy gibi tüm web sitelerini taramak/dizine eklemek için böylesine güçlü bir çözüm görmedim, bu yüzden kişisel olarak web sitelerini taramak için Python Scrapy kullanıyorum.

Ancak, sayfalardan veri kazıma işlemi için nodejs'de casperjs bulunmaktadır. Bu çok güzel bir çözümdür. Ayrıca, ajax web siteleri için de çalışır. açısal-js sayfaları. Python Scrapy ajax sayfalarını ayrıştıramaz. Bir veya birkaç sayfa için veri kazıma için CasperJs kullanmayı tercih ediyorum.

Cheerio casperjs'den çok daha hızlıdır, ancak ajax sayfaları ile çalışmaz ve casperjs gibi bir kodun böyle iyi bir yapısı yoktur. Bu yüzden cheper paketi kullanabilseniz bile casperjileri tercih ederim.

Kahve-komut örneği: Bu modül konfigüre edilemez

casper.start 'https://reports.something.com/login', -> 
    this.fill 'form', 
    username: params.username 
    password: params.password 
    , true 

casper.thenOpen queryUrl, {method:'POST', data:queryData}, -> 
    this.click 'input' 

casper.then -> 
    get = (number) => 
    value = this.fetchText("tr[bgcolor= '#AFC5E4'] > td:nth-of-type(#{number})").trim() 
0

Henüz bir cevaba gerek duyuyorsanız, asla test etmedim, ancak hiçbir zaman yardımcı olamadığını düşünüyorum. mutlu hurdaya.

+0

. sadece işletme adını ve telefonunu döndürür. Scrappy olarak değil, olası bir çözüm buldum. Ancak Cheerio kullanarak sayfayı manipüle etmek mümkün olurdu. Jquery'yi kullanmak gibi. – user2422940