爬虫学习之pdf读取和存储

在py3中如需进行pdf文件操作需要加载PDFMiner3K库文件,可通过pip方式或者可以下载源文件方式安装

python3 -m pip install pdfminer3k 
下载源文件方式:
1、先下载源文件 
2、通过python3 setup.py install

处理Pdf文件的思路:

PDF 读成字符串,然后用StringIO 转换成文件对象

实例:

 1 from urllib.request import urlopen
 2 from io import StringIO
 3 from pdfminer.pdfinterp import PDFResourceManager, process_pdf
 4 from pdfminer.converter import TextConverter
 5 from pdfminer.layout import LAParams
 6 
 7 def readPDF(pdfFile):
 8     rsrcmgr = PDFResourceManager()
 9     retstr = StringIO()
10     laparams = LAParams()
11     device = TextConverter(rsrcmgr, retstr, laparams=laparams)
12 
13     process_pdf(rsrcmgr, device, pdfFile)
14     device.close()
15 
16     content = retstr.getvalue()
17     retstr.close()
18     return  content
19 
20 pdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")
21 outputString = readPDF(pdfFile)
22 print(outputString)
23 pdfFile.close()
readPDF 函数最大的好处是,如果你的PDF 文件在电脑里,你就可以直接把urlopen 返回
的对象pdfFile 替换成普通的open() 文件对象:
pdfFile = open("../pages/warandpeace/chapter1.pdf", 'rb')
输出结果可能不是很完美,尤其是当PDF 里有图片、各种各样的文本格式,或者带有表格
和数据图的时候。但是,对大多数只包含纯文本内容的PDF 而言,其输出结果与纯文本格
式基本没什么区别。

 

posted @ 2017-02-16 14:56  逍遥无名  阅读(1399)  评论(0编辑  收藏  举报