使用 Scrapy 获取 CSS 风格的背景图片 sheet

Using Scrapy for to get background image on CSS Style sheet

我开始使用 Scrapy,一个 Python 的爬虫库。经过大量搜索,我仍然没有找到在 CSS style-sheets 中抓取背景图像的方法。例如,假设我需要 store 中商店图片的 url。通过检查,我意识到我需要的图像 URL 在这里(CSS 样式 sheet):

@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”:

<figure class="image-store-hero store-hero-alamoana"></figure>

这是包含图像作为背景图像的图形。

或者获取商店图片的最佳方式是什么URL?

提前致谢!

解决方法是:无法从站点获取带XPath的图片。

如您所见,图像 URL 位于站点的 CSS 中。这意味着你必须用 Scrapy 加载 CSS 文件并解析现在是 CSS 内容而不是 XML 的响应,这意味着你不能在非 XML 上使用 XPath ] 文件。

然而,有些库可用于解析 CSS——所以根据 figure 标记的 class 属性,您可以找到合适的 CSS class 定义并从那里提取背景图像。