gpt4 book ai didi

python - 如何使用 BeautifulSoup 从内联样式中提取 CSS 属性

转载 作者:太空狗 更新时间:2023-10-29 20:20:35 27 4
gpt4 key购买 nike

我有这样的东西:

<img style="background:url(/theRealImage.jpg) no-repate 0 0; height:90px; width:92px;") src="notTheRealImage.jpg"/> 

我正在使用 beautifulsoup 来解析 html。有没有办法把“background”css属性中的“url”去掉?

最佳答案

您有几个选择 - 快速而肮脏或正确的方法。快速而肮脏的方式(如果更改标记将很容易破坏)看起来像

>>> from BeautifulSoup import BeautifulSoup
>>> import re
>>> soup = BeautifulSoup('<html><body><img style="background:url(/theRealImage.jpg) no-repate 0 0; height:90px; width:92px;") src="notTheRealImage.jpg"/></body></html>')
>>> style = soup.find('img')['style']
>>> urls = re.findall('url\((.*?)\)', style)
>>> urls
[u'/theRealImage.jpg']

显然,您必须尝试一下才能使其与多个 img 标签一起使用。

正确的方法,因为我觉得建议有人在 CSS 字符串上使用正则表达式会很糟糕 :),使用 CSS 解析器。 cssutils ,一个我刚刚在 Google 上找到并在 PyPi 上可用的库,看起来它可以完成这项工作。

关于python - 如何使用 BeautifulSoup 从内联样式中提取 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9271365/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com