假设您有一个类似的HTML块:
<div class="container">
<div class="sub-container">
<a href="example.com">Blue</a>
</div>
Black
</br>
<div class="sub-container">
<a href="example.com">Yellow</a>
</div>
<div class="sub-container">
<a href="example.com">Pink</a>
</div>
Orange
</br>
</div>
使用python从该HTML块中提取颜色的方法是什么?
答案 0 :(得分:2)
您可以使用.text
从示例html中获取所有颜色。
例如:
from bs4 import BeautifulSoup
s = """<div class="container">
<div class="sub-container">
<a href="example.com">Blue</a>
</div>
Black
</br>
<div class="sub-container">
<a href="example.com">Yellow</a>
</div>
<div class="sub-container">
<a href="example.com">Pink</a>
</div>
Orange
</br>
</div>"""
soup = BeautifulSoup(s, "html.parser")
print(soup.text.strip().replace(" ", ""))
输出:
Blue
Black
Yellow
Pink
Orange
答案 1 :(得分:0)
要使用正则表达式提取html中的标签,您可能需要尝试以下操作:
<(\w+)[\s\w\d=\-+\.]*>(.*)</\1\s*>
然后使用第2组查找该标记内的所有内容。您还可以将正则表达式的开头更改为:
<(a) (etc...)
那只会匹配一个标签。