Kann PhantomJS eine Alternative zu BeautifulSoup verwendet werden?wie kratzen links mit phantomjs
Ich versuche auf Etsy zu suchen und alle Links in Term zu besuchen. In Python weiß ich, wie man das macht (mit BeautifulSoup), aber heute möchte ich sehen, ob ich das gleiche mit PhantomJS machen kann. Ich komme nicht sehr weit.
Dieses Skript sollte „Hallo Kitty“ auf Etsy suchen und zurück alle Produkte <a class="listing-thumb" href=...></a>
und sie in der Konsole aus. Idealerweise würde ich sie später besuchen und die Informationen bekommen, die ich brauche. Im Moment erstarrt es gerade. Irgendwelche Ideen?
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();
});
Ich habe mit der Verwendung von CasperJS, gespielt, die besser dafür ausgelegt sein kann.
Ich empfehle Auschecken [cheerio] (https://github.com/MatthewMueller/cheerio). Es ist perfekt für die Aufgabe des Scraping von Webseiten geeignet, und seine Traversierungs-/Manipulations-APIs sind denen von jQuery sehr ähnlich. – davidchambers