答案 0 :(得分:4)
你不会自己解析HTML。您将使用python中构建的html解析器来解析html。
答案 1 :(得分:2)
您可以使用xxs
轻松地使用lxml提取您正在寻找的值实施例
from lxml import html
page = html.fromstring(open("um.htm", "r").read())
matches = page.xpath("//a[contains(@title, 'pm.') or contains(@title, 'ol')]/span")
print [elem.text for elem in matches]
答案 2 :(得分:1)
答案 3 :(得分:1)
使用正则表达式无法可靠地匹配HTML。通常可以将一些适用于特定页面的内容拼凑在一起,但这是不可取的,因为即使对源HTML进行微妙调整也会使您的所有工作无效。 HTML只是比Regex能够描述的结构更复杂。
正确的解决方案是使用专用的HTML解析器。请注意,即使是XML解析器也无法满足您的需求,无论如何都不可靠。有效的XHTML是有效的XML,但即使它非常相似,即使是有效的HTML也不是。无论如何,有效的HTML / XHTML几乎不可能在野外找到。
有几种不同的HTML解析器可用:
正如其他人所说,BeautifulSoup几乎肯定是您的最佳选择。