PDF提取表格的網頁工具——Excalibur

  在以前的文章另類爬蟲:從PDF文件中爬取表格數據中,咱們知道如何利用Python的camelot模塊,經過寫Python程序來提取PDF中的表格數據。本文咱們將學習如何用更便捷的工具從PDF中提取表格。
  Excalibur是一個用來從PDF中提取表格數據的網頁工具,而它正是以camelot爲基礎。該工具目前只支持文本類型的PDF,而不支持掃描後的PDF文檔,關於其說明和使用文檔能夠參考網址: https://github.com/camelot-dev/excaliburhtml

安裝Excalibur

  在安裝Excalibur以前,須要事先安裝ghostscript,具體的安裝方式能夠參考:https://camelot-py.readthedocs.io/en/master/user/install-deps.html 。不一樣系統安裝ghostscript的方式不同,以筆者的mac電腦爲例,安裝命令以下:git

$ brew install tcl-tk ghostscript

安裝ghostscript完畢後,再經過pip安裝Excalibur,命令以下:github

$ pip3 install excalibur-py

以上就是所有的安裝準備工做了。web

啓動與使用Excalibur

  運行下面的命令啓動Excalibur:算法

$ excalibur initdb
$ excalibur webserver

前一句命令是初始化數據庫,後一句命令是運行server服務。在瀏覽器中輸入: http://localhost:5050 ,便可使用該平臺。
  進入該PDF表格提取平臺,首頁以下:數據庫

進入PDF表格提取平臺首頁
筆者測試的PDF中含有如下表格:瀏覽器

示例表格內容

咱們將該PDF文檔上傳至上述平臺,點擊「Upload PDF」按鈕,再選擇相應的PDF文檔以及該表格所在的頁碼便可。PDF上傳後,該表格所在的那一頁以下圖所示:bash

PDF上傳後的頁面

在右側的Anvanced中的Flavor中選擇「lattice」,並用鼠標框選出表格所在的區域,以下圖:微信

選擇表格所在的區域

再點擊「View and Download Data」按鈕,就能獲得從PDF解析表格後獲得的數據了。截圖以下:工具

表格解析後的結果

若是咱們還想將這個表格解析後的結果保存爲文件,則能夠在Download旁的下拉框中選擇一種保存的形式,並點擊Download按鈕。好比,筆者選擇保存爲csv文件,則下載後的文件以下:

"Method","Precision","Recall","F-measure"
"(S1) SP-CCG","67.5","37.2","48.0"
"(S1) SP-CFG","71.1","39.2","50.5"
"(S1) K4","70.3","26.3","38.0"
"(S2) SP-CCG","63.7","41.4","50.2"
"(S2) SP-CFG","65.5","43.8","52.5"
"(S2) K4","67.1","35.0","45.8"
"","Table 5: Extraction Performance on ACE.","",""

咱們能夠發現,該表格解析後的結果仍是至關漂亮的。

  本次分享到此結束,感謝你們的閱讀。

注意:本人現已開通微信公衆號: Python爬蟲與算法(微信號爲:easy_web_scrape), 歡迎你們關注哦~~

相關文章
相關標籤/搜索