从 403MB(是的,我有这个权利)html 文件中有效地提取特定的 table
Efficiently extract specific table from 403MB (yes I have that right) html file
问题:
- 从 HTML 文件中提取所有 table 的有效方法是什么 HTML 大小接近 0.5 GB?
我目前适用于小于 100MB 的文件的方法是:
Document doc = Jsoup.parse(full_html);
Elements html_tables = doc.select("table");
JSoup.parse
虽然对于 400MB 的文件表现很糟糕。我可以编写自己的 HTML 分词器来快速提取 table 吗?有什么建议吗?
背景:
我正在从一个更广泛的 HTML 文件中提取一个 HTML table,通过将其文本与正则表达式进行匹配来识别.
目前:我使用 JSoup 来解析 HTML。然后我遍历 tables 寻找符合我的条件的候选人。
问题是大约从 2014 年开始,一些提交给 SEC 的文件变得非常愚蠢。示例(403 兆字节文件!):
-rw-r--r-- 1 mgunn staff 403M 0000065984-14-000065.txt
调用 Document doc = Jsoup.parse(full_html)
,我当前方法的一部分,需要几分钟 and/or 内存不足。
我需要一个接一个地对文件执行此操作(其中几个 > 100MB),因此我需要 write/use 一些相当稳健和高效的东西。
问题:
- 从 HTML 文件中提取所有 table 的有效方法是什么 HTML 大小接近 0.5 GB?
我目前适用于小于 100MB 的文件的方法是:
Document doc = Jsoup.parse(full_html);
Elements html_tables = doc.select("table");
JSoup.parse
虽然对于 400MB 的文件表现很糟糕。我可以编写自己的 HTML 分词器来快速提取 table 吗?有什么建议吗?
背景:
我正在从一个更广泛的 HTML 文件中提取一个 HTML table,通过将其文本与正则表达式进行匹配来识别.
目前:我使用 JSoup 来解析 HTML。然后我遍历 tables 寻找符合我的条件的候选人。
问题是大约从 2014 年开始,一些提交给 SEC 的文件变得非常愚蠢。示例(403 兆字节文件!):
-rw-r--r-- 1 mgunn staff 403M 0000065984-14-000065.txt
调用
Document doc = Jsoup.parse(full_html)
,我当前方法的一部分,需要几分钟 and/or 内存不足。我需要一个接一个地对文件执行此操作(其中几个 > 100MB),因此我需要 write/use 一些相当稳健和高效的东西。