解析HTML文件中可见文本的BeautifulSoup更快的替代方案

0 投票
1 回答
1601 浏览
提问于 2025-04-17 03:57

我有一个文件夹,里面有50,000个html文件。我想从每个文件中找出“可见”的文本,也就是那些在浏览器中打开文件时,用户能看到的文字。我看到过一些不错的解决方案,使用了像BeautifulSoup这样的库,但我想要更快的方法。

我写的一个基于正则表达式的解决方案速度也没快多少。

如果我在Python中使用某种文件流读取器,能否加快速度?还有什么其他更快的选择吗?

如果解决方案更快,我愿意牺牲一些准确性,不使用像BeautifulSoup这样的可靠解析器。

编辑:

我认为“快”就是5分钟以内。如果更快的话,最好在1.3小时以内(这是基于BeautifulSoup解析每个文件平均需要十分之一秒的估算,这个估算听起来有点乐观,因为我之前用它的工作经验)。

1 个回答

2

听起来你只是想把一个文件夹里的每个HTML文件都显示出来。既然市面上已经有很多现成的工具可以做到这一点,为什么还要自己写一个渲染器(用Python或其他语言)呢?

这里有一个使用 w3m 的例子(你也可以用 Lynxlinks 等等):

find . -name '*.html' -exec w3m -dump {} \; 

撰写回答