Scrapy飞溅返回空列表

问题描述 投票:0回答:2

我想刮的图像和衣服的搭配Scrapy和飞溅的一些产品信息。我想只用产品(所以没有模型)来获取图像。从Such as this image https://www2.hm.com/nl_nl/productpage.0220094001.html

但是,如果我试图让SRC在Scrapy外壳,

response.xpath( '//图[含有(@class, “次级”)] // // IMG SRC @')。提取物()

返回一个空列表。

有谁知道我怎么能拿这些二次图像的src?

提前致谢!

scrapy scrapy-spider splash
2个回答
1
投票

检查的JSON是response.xpath('//script[contains(text(), "productArticleDetails =")]/text()')。它包含了所有网页上的产品数据,并用图像。


1
投票

如果您使用飞溅来渲染页面(如你所提到的),您的XPath应正常工作。您可以在scrapy壳这样的测试:

scrapy shell 'http://localhost:8050/render.html?url=https://www2.hm.com/nl_nl/productpage.0220094001.html&timeout=100&wait=0.5'

你的XPath给人5种图像列表:

response.xpath('//figure[contains(@class, "secondary")]//img//@src').extract()
['//lp2.hm.com/hmgoepprod?set=source[/04/2f/042fded3bfa88dda5680a6470f12f180bca4739e.jpg],origin[dam],category[ladies_dresses_maxidresses],type[LOOKBOOK],res[m],res[s],hmver[1]&call=url[file:/product/main]', 
'//lp2.hm.com/hmgoepprod?set=source[/8b/03/8b03a5491cc1fdfd27c7a308ad8fab2e1d408754.jpg],origin[dam],category[ladies_dresses_maxidresses],type[LOOKBOOK],res[m],res[s],hmver[1]&call=url[file:/product/main]', 
'//lp2.hm.com/hmgoepprod?set=source[/11/28/1128425ddada72796f5f4ad3b46d5836957f9522.jpg],origin[dam],category[ladies_dresses_maxidresses],type[LOOKBOOK],res[m],res[s],hmver[1]&call=url[file:/product/main]', 
'//lp2.hm.com/hmgoepprod?set=source[/79/63/796367ae5cfea46bf6b8eb2e1afe2fb5e54e86f4.jpg],origin[dam],category[ladies_dresses_maxidresses],type[DESCRIPTIVESTILLLIFE],res[s],hmver[1]&call=url[file:/product/main]', 
'//lp2.hm.com/hmprod?set=source[/model/2017/E00 0220094 001 08 3075.jpg],width[843],height[985],x[353],y[123],type[DETAIL],res[s]&hmver=0&call=url[file:/product/main]']
© www.soinside.com 2019 - 2024. All rights reserved.