在 css 文件中抓取 url 的 css 文件导入,然后在 Python 中删除它们

Scrape url of css file imports in css file and then remove them, in Python

我需要获取 css 文件中的所有 css 导入(url)。例子是:

@import url("/pub-assets/css/index/tac-holidaysale.css");
@import url("/pub-assets/css/index/tc1200-fonts.css");
@import url("/pub-assets/css/index/ad-banner.css");

所以我需要得到一个列表,其中包括:

/pub-assets/css/index/tac-holidaysale.css
/pub-assets/css/index/tc1200-fonts.css
/pub-assets/css/index/ad-banner.css

我需要这个来缩小 Css。在我抓取所有 url 之后,我需要删除所有这些导入。如何仅在 Python 中执行此操作?

这是在做一些假设,但您可以拆分引号,然后只获取引号之间的项目。

因此您的代码将如下所示:

rules = []
with open("test.css") as f:
    for line in f:
        if line.startswith("@import"):
            url = line.split('"')[1] # split on quote mark and get middle item
            rules.append(url)

假设该行以@import 开头,并且字符串中只有一对引号。如果这些假设过于深远,请告诉我。

要删除 URL,您可以执行 line.replace(url,''),或者添加 line.split('"' )