gpt4 book ai didi

python - 使用 BeautifulSoup 解析 <style> 标签内的 html 注释

转载 作者:行者123 更新时间:2023-12-01 07:44:21 25 4
gpt4 key购买 nike

<style type="text/css">
<!--
p {margin: 0; padding: 0;} .ft10{font-size:17px;font-family:JEFJLV+FoundersGrotesk-Medium;color:#ffffff;}
.ft11{font-size:17px;font-family:JEFJLV+FoundersGrotesk-Medium;color:#105334;-moz-transform: matrix( 0, 1, -1, 0, 0, 0);-webkit-transform: matrix( 0, 1, -1, 0, 0, 0);-o-transform: matrix( 0, 1, -1, 0, 0, 0);-ms-transform: matrix( 0, 1, -1, 0, 0, 0);-moz-transform-origin: left 75%;-webkit-transform-origin: left 75%;-o-transform-origin: left 75%;-ms-transform-origin: left 75%;}
-->
</style>

我想从上面的 html 代码片段中提取 .ft10 和 .ft11 的属性。

我正在使用 bs4 的 Comment 函数,但它返回一个空列表。

for style in soup.find_all('style'):

comments = style.find_all(string=lambda text: isinstance(text, Comment))
print("comments ====> ", comments)
for c in comments:
print(c)
print("===========")
c.extract()

我想要一个包含所有类别的字体大小、系列和颜色的列表。

最佳答案

我能够获取该值。但是不确定这是否也适用于其他用例。

from bs4 import BeautifulSoup
from bs4 import Comment
html='''<style type="text/css"> <!-- p {margin: 0; padding: 0;} .ft10{font-size:17px;font-family:JEFJLV+FoundersGrotesk-Medium;color:#ffffff;} .ft11{font-size:17px;font-family:JEFJLV+FoundersGrotesk-Medium;color:#105334} --> </style> '''
soup=BeautifulSoup(html,'html.parser')
item=soup.find('style')
data1=item.next_element
soup1=BeautifulSoup(data1,'html.parser')
comments = soup1.find_all(string=lambda text: isinstance(text, Comment))
for c in comments:
data=c.strip().split('}')
str1=data[1].split('.ft10')[1]+ "}"
str2=data[2].split('.ft11')[1]+ "}"

print(str1)
print(str2)

输出:

{font-size:17px;font-family:JEFJLV+FoundersGrotesk-Medium;color:#ffffff;}
{font-size:17px;font-family:JEFJLV+FoundersGrotesk-Medium;color:#105334}

关于python - 使用 BeautifulSoup 解析 &lt;style&gt; 标签内的 html 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56538141/

25 4 0