【问题标题】:Using Scrapy for to get background image on CSS Style sheet使用 Scrapy 获取 CSS 样式表上的背景图像
【发布时间】:2015-10-08 23:41:21
【问题描述】:

我开始使用 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”:

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

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

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

提前致谢!

【问题讨论】:

    标签: python css web-crawler scrapy background-image


    【解决方案1】:

    解决办法是:没有办法通过XPath从网站获取图片。

    正如您已经发现的那样,图片 URL 位于网站的 CSS 中。这意味着您必须使用 Scrapy 加载 CSS 文件并解析现在是 CSS 内容而不是 XML 的响应,这意味着您不能在非 XML 文档上使用 XPath。

    但是有一些库可以用来解析 CSS ——因此基于 figure 标签的 class 属性,您可以找到适当的 CSS 类定义并从中提取背景图像。

    【讨论】:

    • 你能举出python中用来解析CSS的库的例子吗?
    猜你喜欢
    • 2015-09-09
    • 2011-03-07
    • 1970-01-01
    • 2021-04-12
    • 2012-10-31
    • 2021-01-20
    • 2011-06-17
    • 2018-10-05
    • 2013-02-04
    相关资源
    最近更新 更多