在浏览器中呈现非常大的HTML文件?

10
我正在尝试通过一个有趣的项目来学习Python - 一个Facebook消息分析器。我已经从Facebook下载了我的数据,其中包括一组html文件。其中之一 - messages.htm - 包含了我所有的消息记录。我的目标是将这个html文件解析出来,输出一些有趣的数据,比如最常见的词汇、消息数量等。
问题在于,我的messages.htm文件大小为270MB。我可以在vim中检查它,但是文件中有一些有趣的模式,我想将HTML代码与在浏览器上正确呈现的内容进行比较,以便将代码与视觉效果进行比较,更好地了解正在发生的事情。但是当我尝试在Firefox中打开此文件时,Firefox会崩溃。我可以在Chrome中打开它,但它只是开始加载所有的消息记录,并且即使滚动条非常小,10分钟后它仍然没有完全加载一个单独的消息线程。因此,这是不可行的。
这种大型和长时间的HTML文件是否能够完全呈现?

1
270MB的源代码可能会导致内存中出现数GB的数据结构。浏览器甚至不应该尝试。 - Álvaro González
1
我明白了,这会让我放弃解析吗?我之前问过一个相关问题,我认为使用迭代解析是可能的(https://dev59.com/6ozda4cB1Zd3GeqPpatp)。我猜我大约有80万到100万条消息,所以这是一项需要处理大量数据但肯定可行的任务。 - ShaneOH
你是否可以过滤文件中的单个消息并将它们写入数据库或JSON存储中?这可以使大量数据更加方便处理。 - MiBrock
@MiBrock,我相信这是我的第一次尝试Python,所以我还没有一个固定的方法。非常乐意接受任何建议,也非常感激能够指引正确方向! - ShaneOH
只是解析它以提取数据是可行的,只要您不使用常规的内存HTML解析器(270 MB文本文件本身并不是一个很好的选择)。如果HTML无效,也许您可以使用XML pull解析器。 - Álvaro González
1个回答

7
您可以使用基于文本的浏览器Lynx来查看大型HTML文件。我有一个139M的HTML文件,使用Lynx非常容易就能查看。 Lynx将整个文档分成页面,并能够快速加载任何指定的页面。它还支持超链接,因此在HTML文档内导航(这是我的用例)非常顺畅。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接