我想从以下 HTML 片段中解析高清价格。我只有 html 代码片段,所以我不能为此使用 HTML 解析器。
<div id="left-stack">
<span>View In iTunes</span></a>
<span class="price">£19.99</span>
<ul class="list">
<li>HD Version</li>
基本上,格式是“在“HD 版本”一词之前查找价格(不区分大小写)。这是我目前所拥有的:
re.match(r'^(\d|.){1,6}...HD\sVersion', string)
我如何从上面的字符串中提取值“19.99”?
最佳答案
BeautifulSoup
是very lenient对于它解析的 HTML,您也可以将它用于 HTML 的 block /部分:
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
data = u"""
<div id="left-stack">
<span>View In iTunes</span></a>
<span class="price">£19.99</span>
<ul class="list">
<li>HD Version</li>
"""
soup = BeautifulSoup(data)
print soup.find('span', class_='price').text[1:]
打印:
19.99
关于python - html 标签中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798289/