PhantomJSを使用して、指定されたWebページ内のすべての画像src urlのリストを取得しようとしています。私の理解は、これは非常に簡単なはずですが、どのような理由であれ、私はそれを機能させることができません。ここで私は、現在持っているコードは次のとおりです。Scrape image src PhantomJSを使用したURL
var page = require('webpage').create();
page.open('http://www.walmart.com');
page.onLoadFinished = function(){
var images = page.evaluate(function(){
return document.getElementsByTagName("img");
});
for(thing in a){
console.log(thing.src);
}
phantom.exit();
}
私もこの試みた:私もの画像を反復処理しようとした
var page = require('webpage').create();
page.open('http://www.walmart.com', function(status){
var images = page.evaluate(function() {
return document.images;
});
for(image in images){
console.log(image.src);
}
phantom.exit();
});
:
var a = page.evaluate(function(){
returnStuff = new Array;
for(stuff in document.images){
returnStuff.push(stuff);
}
return returnStuff;
});
そして、これを関数を評価し、そのように.srcプロパティを取得する。
意味のあるものは返されません。 document.imagesの長さを返すと、そのページには54のイメージがありますが、それらを反復しようとすると便利なものはありません。
はまた、私は、次の他の質問を見て、彼らが提供された情報を使用することができませんでしたしました:How to scrape javascript injected image src and alt with phantom.jsとHow to download images from a site with phantomjs
は再び、私は元のURLをしたいです。私は実際のファイルそのものは必要ありません。助けてくれてありがとう。
UPDATE
私はそれはstuff.getAttribute( 'SRC')はundefinedを返しますというエラーを投げた
var a = page.evaluate(function(){
returnStuff = new Array;
for(stuff in document.images){
returnStuff.push(stuff.getAttribute('src'));
}
return returnStuff;
});
を使用してみました。それがどうしていいのか?