使用Python提取HTML数据字段
请原谅我知识有限,但如果有以下格式的HTML,提取每个数据字段的最佳方法是什么?请记住,很多时候其中一些或全部字段可能是NULL,这种情况下我们就保持它们为NULL。
<div class="profile-section" id="a-bit-more-about">
<dl>
<dt>Name:</dt>
<dd><span class="given-name">Clem</span> <span class="family-name">Kadiddlehopper</span></dd>
</dl>
<!-- <span class="RealName">/ <span class="fn n"><span class="given-name">Clem</span> <span class="family-name">Kadiddlehopper</span></span></span> -->
<dl>
<dt>Joined:</dt>
<dd>September 1910</dd>
</dl>
<div class="sep"></div>
<dl>
<dt>Hometown:</dt>
<dd>Quiet Rest Maximum Security Twilight Home</dd>
</dl>
<dl>
<dt>Currently:</dt>
<dd><span class="adr"><span class="locality">They won't tell me</span>, <span class="country-name">Zimbobwe</span></span></dd>
</dl>
<div class="sep"></div>
2 个回答
3
你需要一个HTML解析器。我推荐你使用Beautiful Soup或者lxml。
2
可以使用一些第三方模块,比如 beautiful soup、lxml,或者 Python 自带的 html.parser 模块。比如:
from bs4 import BeautifulSoup
soup = BeautifulSoup('<html><body><a>bbb</a></body></html')
soup.find('a')
另外,如果你只需要处理一些小的目标,也可以用正则表达式。