晚上翻看《Python网络数据采集》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则,这个规则适用的是已经把pdf内容合到html里的情况。
现在这个python版本的代码,是读取pdf文件内容(互联网上的或是本地的),觉得这个很有参考价值,就发个贴记录下来。
这段代码主要是用了一个第三方库PDFMiner3K把PDF读成字符串,然后用StringIO转换成文件对象。
from urllib.request import urlopen from pdfminer.pdfinterp import PDFResourceManager, process_pdf from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from io import StringIO from io import open def 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("http://pythonscraping.com/pages/warandpeace/chapter1.pdf") outputString = readPDF(pdfFile) print(outputString) pdfFile.close()
如果PDF文件在你的电脑里,那就把urlopen返回的对象pdfFile替换成普通的open()文件对象。
本文出自 “fullerhua的博客” 博客,谢绝转载!
原文地址:http://gooseeker.blog.51cto.com/11579528/1782123