當前位置:編程學習大全網 - 源碼下載 - 如何解決Python讀取PDF內容慢的問題

如何解決Python讀取PDF內容慢的問題

1,引言

晚上翻看《Python網絡數據采集》這本書,看到讀取PDF內容的代碼,想起來前幾天集搜客剛剛發布了壹個抓取網頁pdf內容的抓取規則,這個規則能夠把pdf內容當成html來做網頁抓取。神奇之處要歸功於Firefox解析PDF的能力,能夠把pdf格式轉換成html標簽,比如,div之類的標簽,從而用GooSeeker網頁抓取軟件像抓普通網頁壹樣抓取結構化內容。

從而產生了壹個問題:用Python爬蟲的話,能做到什麽程度。下面將講述壹個實驗過程和源代碼。

2,把pdf轉換成文本的Python源代碼

下面的python源代碼,讀取pdf文件內容(互聯網上的或是本地的),轉換成文本,打印出來。這段代碼主要用了壹個第三方庫PDFMiner3K把PDF讀成字符串,然後用StringIO轉換成文件對象。(源代碼下載地址參看文章末尾的GitHub源)

from urllib.request import urlopenfrom pdfminer.pdfinterp import PDFResourceManager, process_pdffrom pdfminer.converter import TextConverterfrom pdfminer.layout import LAParamsfrom io import StringIOfrom io import opendef readPDF(pdfFile):

rsrcmgr = PDFResourceManager()

retstr = StringIO()

laparams = LAParams()

device = TextConverter(rsrcmgr, retstr, laparams=laparams)

process_pdf(rsrcmgr, device, pdfFile)

device.close()

content = retstr.getvalue()

retstr.close() return content

pdfFile = urlopen("/pages/warandpeace/chapter1.pdf")

outputString = readPDF(pdfFile)print(outputString)

pdfFile.close()

如果PDF文件在妳的電腦裏,那就把urlopen返回的對象pdfFile替換成普通的open()文件對象。

3,展望

這個實驗只是把pdf轉換成了文本,但是沒有像開頭所說的轉換成html標簽,那麽在Python編程環境下是否有這個能力,留待今後探索。

4,集搜客GooSeeker開源代碼下載源

1.?GooSeeker開源Python網絡爬蟲GitHub源

5,文檔修改歷史

2016-05-26:V2.0,增補文字說明

2016-05-29:V2.1,增加第六章:源代碼下載源,並更換github源的網址

  • 上一篇:能源黃金柱源代碼
  • 下一篇:數字科技企業服務金融運營:智能財務、智能客服、智能巡檢
  • copyright 2024編程學習大全網