Mi piacerebbe sapere se c'è qualcosa come Scrapy per nodejs ?. se no, cosa ne pensi di usare la semplice pagina di download e di analizzarla con cheerio? C'è un modo migliore.Scrapy come strumento per Nodejs?
risposta
Non ho visto una soluzione così forte per la scansione/indicizzazione di interi siti Web come Scrapy in Python, quindi personalmente utilizzo Python Scrapy per la scansione di siti Web.
Ma per lo scraping dei dati dalle pagine c'è casperjs in nodejs. È una soluzione molto interessante. Funziona anche per i siti Web di ajax, ad es. pagine angolari. Python Scrapy non può analizzare le pagine Ajax. Quindi per lo scraping dei dati per una o poche pagine preferisco usare CasperJs.
Cheerio è molto più veloce di casperjs, ma non funziona con le pagine Ajax e non ha una struttura così buona di un codice come casperjs. Quindi preferisco i casperjs anche quando puoi usare il pacchetto cheerio.
esempio caffè-script:
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()
Nel caso in cui abbia ancora bisogno di una risposta, https://www.npmjs.org/package/scrapy Non l'ho mai testato, ma penso che possa essere d'aiuto. rottamazione felice.
Questo modulo non può essere configurato. restituisce solo nome commerciale e telefono. Ho trovato una soluzione possibile non così performante come Scrappy. ma usando Cheerio sarebbe possibile manipolare la pagina. proprio come usare Jquery. – user2422940