如何在 Python 中使用正则表达式从文件底部读取 HTML 标签?

我有一个 HTML 响应,我需要获取<title>页面上最后一个标签之间的数据,有没有办法可以使用 Python 中的正则表达式或使用 Python 中的其他工具来完成此操作?


例如。


<title>abc

</title>


<title>def

</title>

应该返回 def。


沧海一幻觉
浏览 108回答 2
2回答

Smart猫小萌

您不应该使用正则表达式来解析 HTML,因为大多数情况下效率低下且难以阅读。如果您没有任何其他选择,正则表达式应该是最后的选择。值得庆幸的是,有很多适用于 Python 的 HTML 解析器,例如BeautifulSoup。使用 BeautifulSoup 你可以获得最后一个标题标签:last_title = soup.find_all('title')[-1].text.replace('\n', '')

收到一只叮咚

用作<title>\s*([\s\S]+?)\s*</title>正则表达式(从标题中去除前导和尾随空格)并findall获取最后一次出现的位置:正则表达式演示import retext = """abc<title>abc</title>defghi<title>def</title>jkl"""tags = re.findall(r'<title>\s*([\s\S]+?)\s*</title>', text)print(tags[-1]) # the last one印刷:def
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python