2014-10-30 17 views

risposta

1

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() 
0

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.

+0

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