次のスクリプトを使用して、phantom.js を使用して画像をスクレイピングしています。
var page = require('webpage').create();
url = 'https://www.everlane.com/collections/mens-luxury-tees/products/mens-crew-antique'
page.open(url, function(status) {
if (status !== 'success') {
console.log('error');
phantom.exit();
return;
}
var a = page.evaluate(function() {
return document.getElementsByTagName('img');
});
SrcAlt = [];
for (var i=0; i<a.length; i++){
var src = a[i].getAttribute('src');
var alt = a[i].getAttribute('alt');
SrcAlt.push({"src": src, "alt": alt});
}
console.log(SrcAlt);
phantom.exit();
});
しかし、変数を定義した後、スクリプトがハングしますa
。つまり、反復処理が行われず、src 属性と alt 属性が返されません。34をconsole.log(a)
返すと、適切な画像リソースがあると思います。src および alt 情報にアクセスするにはどうすればよいですか? ありがとう!