我试图用CasperJS库刮取此页面上的电影链接(http://www.solarmovie.so/watch-pompeii-2014.html)。我密切关注教程(http://docs.casperjs.org/en/latest/quickstart.html#now-let-s-scrape-google)。
当我定位我想要的类(.sourceNameCell)的锚子标签时,只找到JSON对象,即使我以为我是通过使用" .sourceNameCell>提取锚值。一个"作为我的选择者。
我非常感谢你能为一个萌芽的Javascript-ist提供任何反馈!
请在下面找到我的代码......
var casper = require('casper').create();
var links = [];
function getLinks() {
var links = document.querySelectorAll('.sourceNameCell > a');
return Array.prototype.map.call(links, function(e) {
return e;
});
}
casper.start('http://www.solarmovie.so/watch-pompeii-2014.html', function() {
this.evaluate(getLinks);
});
casper.then(function() {
// aggregate results for the 'phantomjs' search
links = links.concat(this.evaluate(getLinks));
});
casper.run(function() {
// echo results in some pretty fashion
this.echo(links.length + ' links found:');
this.echo(' - ' + links.join('\n - ')).exit();
});
答案 0 :(得分:0)
我是Javascript的新手,但教程显示"返回e.getAttribute(' href')"。 Chris尽可能使用xpath,但css在这里工作正常。
澄清我的答案:
替换:返回e; (第7行,如果计算正确)
with:return e.getAttribute(' href');