如何在数千个 PDF 文件中抓取表格?
Posted
技术标签:
【中文标题】如何在数千个 PDF 文件中抓取表格?【英文标题】:How to scrape tables in thousands of PDF files? 【发布时间】:2014-09-27 07:26:56 【问题描述】:我有大约 1'500 个 PDF,每个 PDF 仅包含 1 页,并且具有相同的结构(例如,请参阅 http://files.newsnetz.ch/extern/interactive/downloads/BAG_15m_kzh_2012_de.pdf)。
我正在寻找一种方法来迭代所有这些文件(如果可能,在本地)并提取表的实际内容(作为 CSV,存储到 SQLite DB 中,等等)。
我很想在 Node.js 中执行此操作,但找不到任何合适的库来解析此类内容。你知道吗?
如果在 Node.js 中不可能,如果有更好的方法可用,我也可以用 Python 编写代码。
【问题讨论】:
【参考方案1】:我以前不知道这个,但是less
具有阅读 pdf 文件的神奇能力。我能够使用此脚本从您的示例 pdf 中提取表格数据:
import subprocess
import re
output = subprocess.check_output(["less","BAG_15m_kzh_2012_de.pdf"])
re_data_prefix = re.compile("^[0-9]+[.].*$")
re_data_fields = re.compile("(([^ ]+[ ]?)+)")
for line in output.splitlines():
if re_data_prefix.match(line):
print [l[0].strip() for l in re_data_fields.findall(line)]
【讨论】:
我写了一些我最终想出的解决方案:timogrossenbacher.ch/2014/11/…以上是关于如何在数千个 PDF 文件中抓取表格?的主要内容,如果未能解决你的问题,请参考以下文章