qq_大屎_0
2017-09-17 18:31
# -*- coding: utf-8 -*-
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams
from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from urllib.request import urlopen
# fp = open("ReferenceCard.pdf","rb") # 获取文档对象,“rb”表示以二进制读的方式打开
fp = urlopen("http://www.tencent.com/zh-cn/articles/8003251479983154.pdf")
parser = PDFParser(fp) #创建一个与文档关联的解释器
doc = PDFDocument() # PDF文档的对象
parser.set_document(doc) # 链接文档对象
doc.set_parser(parser) # 链接解释器
doc.initialize("") # 初始化文档,如果该文档有加密,则密码写在“”里
resource = PDFResourceManager # 创建PDF资源管理器
laparam = LAParams() # 创建参数分析器
device = PDFPageAggregator(resource,laparams=laparam) # 创建一个聚合器,接收PDF资源管理器和参数解析器
interpreter = PDFPageInterpreter(resource,device) # 创建PDF页面解释器,需要PDF资源管理器和聚合器
for page in doc.get_pages(): # 使用文档对象得到页面的集合
interpreter.process_page(page) # 使用页面解释器来读取
layout = device.get_result() # 使用聚合器来获取内容
for out in layout:
if hasattr(out,"get_text"):
print(out.get_text())
以下是报错:
(忽略下面这张图)
resource = PDFResourceManager()# 创建PDF资源管理器
缺括号
忽略最后一张图
python遇见数据采集
59669 学习 · 200 问题
相似问题