我正在尝试从布局不合理的pdf(以下代码中的URL)中抓取数据。我需要使用有关表格的行/边界位置的信息来制作有意义的数据记录。
url="http://www.cmc.gv.ao/sites/main/pt/Lists/CMC%20%20PublicaesFicheiros/Attachments/89/Lista%20de%20Institui%C3%A7%C3%B5es%20Registadas%20(actualizado%2004.07.16).pdf"
import scraperwiki, urllib2, re
u = urllib2.urlopen(url)
xml=scraperwiki.pdftoxml(u.read()) # interpret pdf as xml
XML行并不表示表格行如何分解信息。典型的线条如下所示:
<text top="678" left="493" width="103" height="12" font="6">Besa Património </text>
在我的浏览器元素检查器中,HTML稍微详细一些,但我仍然没有看到有关表格行位置的信息。
我花了相当多的时间来处理这个问题,所以如果首先尝试任何推测性答案,我会很感激。问题是,如何获得表格线的位置?
答案 0 :(得分:0)
获取您需要的表格边框:
270.17 749.85 182.81 20.67 re
或
270.17 414.16 182.81 20.76 re
如果您设法解压缩PDF(使用pdfrw或其他工具),那么您可以尝试制作一个简单的解析器,或者只是针对所有对象运行正则表达式:
这基本上是ByteScout PDF Multitool实用程序(不幸的是仅适用于Windows)和其他工作
的方式