我有一些需要从 html 文件集合中提取的数据。我不确定数据是否驻留在 div 元素、table 元素或组合元素中(其中 div 标签是 table 的元素。我见过所有三种情况。我的文件大到 2 mb 和我有数万个。到目前为止,我已经查看了表格中的 td 元素并查看了孤独的 div 元素。在我看来,最长的时间是文件被汤化,超过 30 秒。我尝试创建一个正则表达式来查找我要查找的数据,然后查找下一个关闭标记表、tr、td 或 div 以确定我的文本包含在哪种类型的结构中。找到匹配的打开标记,剪切该部分,然后将其全部包装在打开和关闭 HTML 标记中
stuff
<div>
stuff
mytext
stuff
</div>
所以我创建了一个看起来像这样的字符串:
s='<div>stuffmyTextstuff</div>'
然后我包装字符串
def stringWrapper(s):
newString='<HTML>'+s+'</HTML>'
return newString
然后使用 BeautifulSoup
littleSoup=BeautifulSoup(newString)
然后我可以访问 BeautifulSoup 的强大功能,用 newString 做我想做的事。
这比首先测试所有表格的所有单元格内容直到我找到我的文本并且如果我找不到它那里测试所有 div 内容的替代方法运行得快得多。
我在这里错过了什么吗?