gpt4 book ai didi

Python HTML : Extract Parts of Text from html file

转载 作者:太空宇宙 更新时间:2023-11-03 21:37:06 25 4
gpt4 key购买 nike

我目前正在开发一个项目,我下载了一堆相关的 html 文件并从中收集数据。我注意到的一件事是,尽管 html 文件的整体格式相似,但有时不同的文件使用不同的标签来存储相似的信息。

例如,在一个文件中可能是:

<html>
<head>
<p> Title: The GodFather </p>
<p> Author: Mario Puzo </p>
</head>
<html>

在另一个例子中,它可能是:

<html>
<head>
<p> Heading </p>
<pre> Ebook from xyz site: Please donate to our foundation at www.abc.com
Title: The GodFather
Author: Mario Puzo
</pre>
</head>
</html>

我可以肯定地说,“标题:”和“作者:”在所有 html 文件中都很常见。我想提取“标题:”和“作者:”旁边的文本。我假设我使用 beautiful soup 来提取每个 html 文件。但是要提取 TitleAuthor,使用正则表达式是最好的吗?

最佳答案

连漂亮的汤都不用费心,只需要使用正则表达式即可:

re.findall(r'(?<=Author:).*?(?=<)', html.replace('\n', ''))
>>> [' Mario Puzo']

re.findall(r'(?<=Title:).*?(?=<)', html.replace('\n', ''))
>>> [' The GodFatherAuthor: Mario Puzo']

这将匹配作者,当然,它可能不适用于您的某些标题,因为它在另一个标签之前还包含“作者”(如上所示),在这种情况下您可以执行 title.split('Author' )[0] 对于所有抓取的标题,因为如果 Author 不在字符串中,此方法将不会更改字符串。

关于Python HTML : Extract Parts of Text from html file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53182192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com