2017-04-12 4 views
3

私は現在、スキーでサイトhttps://www.bloomingdales.comを掻き取りしようとしています。scrapyを使用して動的に読み込まれた画像のsrcを抽出する方法

私は製品ページなどのそれぞれにロードされたメイン画像のURLを抽出しようとしています。このプロジェクトで

https://www.bloomingdales.com/shop/product/free-people-over-the-rainbow-beanie?ID=1791385&CategoryID=1006048#fn=ppp%3D%26spp%3D1%26sp%3D1%26rid%3D83%26spc%3D94%26rsid%3Dundefined%26pn%3D1|2|1|94

しかし、各画像は、ウェブサイト上の画像要求にロードされ、だから私は単純にイメージURLを見つけるためにxpathすることはできません。どのようにして画像のURLを抽出するのですか?

ここで私は私のChromeデベロッパーツールで参照要求のスクリーンショットです:

答えて

4

これは、HTMLのボディに、いくつかのJSONデータを格納し、ユーザーのブラウザアンパックを持っている電子商取引のウェブサイトのための非常に一般的ですそれをフルページにします。この特定のページのために

あなたは画像のURLをコピーして、ページのソースでは約検索する場合は、に保存されている製品のすべてのデータを参照することができます

<script id="pdp_data" type="application/json">some_json</script> 

あなたはscrapyと、このデータをつかむとPythonにJSONをデコードすることができますが辞書:

data = response.xpath("//script[@id='pdp_data']/text()").extract_first() 
import json 
data = json.loads(data) 
# then you can parse the data 
data['product']['imageSource'] 
# '8/optimized/9216988_fpx.tif' 
+0

ありがとうございました!これは完全に機能しました – taphos