我开始使用Scrapy,一个Python的爬行库。在搜索了很多之后,我仍然没有找到一种方法来抓取CSS样式表中的背景图像。例如,假设我需要来自这个store的商店图像的url。通过检查,我发现我需要的图像URL在这里(在CSS样式表中):
@media only screen and (max-width: 1068px)
.store-page .image-store-hero {
background-image: url("http://images.apple.com/retail/alamoana/images/alamoana_hero_medium.jpg");
}
如何使用xpath对“http://images.apple.com/retail/alamoana/images/alamoana_hero_medium.jpg”进行爬网:
^{pr2}$它是包含图像作为背景图像的图形。在
或者,获取商店图像URL的最佳方法是什么?在
提前谢谢!在
解决方案是:没有办法从站点使用XPath获取图像。在
正如您已经发现的,图像URL位于网站的CSS中。这意味着您必须用Scrapy加载CSS文件并解析响应,该响应现在是CSS内容而不是XML,这意味着您不能在非XML文档上使用XPath。在
但是,有一些库可以用来解析CSS,因此基于
figure
标记的class
属性,您可以找到合适的CSS类定义并从中提取背景图像。在相关问题 更多 >
编程相关推荐