Può PhantomJS essere utilizzato in alternativa al BeautifulSoup?come raschiare legami con phantomjs
Sto cercando di cercare su Etsy e visitare tutti i collegamenti in termini. In Python, so come farlo (con BeautifulSoup) ma oggi voglio vedere se posso fare lo stesso con PhantomJS. Non sto andando molto lontano.
Questo script dovrebbe cercare "ciao kitty" su Etsy e restituire tutti i prodotti <a class="listing-thumb" href=...></a>
e stamparli nella console. Idealmente vorrei visitarli più tardi e ottenere le informazioni di cui ho bisogno. In questo momento si blocca solo. Qualche idea?
var page = require('webpage').create();
var url = 'http://www.etsy.com/search?q=hello%20kitty';
page.open(url, function(status){
// list all the a.href links in the hello kitty etsy page
var link = page.evaluate(function() {
return document.querySelectorAll('a.listing-thumb');
});
for(var i = 0; i < link.length; i++){ console.log(link[i].href); }
phantom.exit();
});
ho accarezzato con l'utilizzo di CasperJS, che possono essere meglio progettato per questo.
Consiglio di controllare [cheerio] (https://github.com/MatthewMueller/cheerio). È perfettamente adatto al compito di raschiare le pagine Web e le sue API di attraversamento/manipolazione sono molto simili a quelle di jQuery. – davidchambers