如何抓取数千个PDF文件中的表格?
我有大约1500个PDF文件,每个文件只有一页,而且结构都一样(可以参考这个例子:http://files.newsnetz.ch/extern/interactive/downloads/BAG_15m_kzh_2012_de.pdf)。
我想找到一种方法,能够遍历这些文件(如果可以的话,最好是在本地),并提取表格的实际内容(比如转成CSV格式,存到SQLite数据库里,或者其他方式)。
我希望能用Node.js来做这个,但我找不到合适的库来解析这些内容。你知道有什么库吗?
如果在Node.js中不行,我也可以用Python来编写代码,如果有更好的方法的话。
1 个回答
20
我之前不知道,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)]