首页 > 解决方案 > 使用 xpath 和 scrapy 提取图像

问题描述

我一直在尝试从该网站https://www.milieuproperties.com/For-Sale/western-cape/durbanville/获取图像,但在获取该物业的所有图像时遇到问题;更具体地说,提取图像的 URL。

这就是我现在拥有的代码的样子,但我总是得到一个空数组:

images = response.xpath('//*[@class="slick-track"]/div/img/@src').getall()

关于我可能做错了什么的任何建议?先感谢您!

标签: pythonxpathweb-scrapingscrapy

解决方案


正如 mdaniel 所说,您使用的 xpath 在呈现页面时有效,但scrapy 看不到它。您可以检查scrapy 看到的使用scrapy shell "$URL"和操作view(response)。您还可以在页面源中查找图像 URL。以下 xpath 似乎可以解决问题:

images = response.xpath('//*[@class="MyImage"]//*[has-class("slider-nav")]//@src').extract()

推荐阅读