如何利用Python抓取PDF中的某些内容
1个回答
2017-08-17 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
你的问题事实上包含几部分:
将 PDF 转化为纯文本格式
抽取其中部分内容
格式化写入到 excel 中
转换 PDF 有很多库可以完成,如下是通过 pdfminer 的示例:
from cStringIO import StringIO
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
def convert_pdf_2_text(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
device = TextConverter(rsrcmgr, retstr, codec='utf-8', laparams=LAParams())
interpreter = PDFPageInterpreter(rsrcmgr, device)
with open(path, 'rb') as fp:
for page in PDFPage.get_pages(fp, set()):
interpreter.process_page(page)
text = retstr.getvalue()
device.close()
retstr.close()
return text
需要指出的是,pdfminer 不但可以将 PDF 转换为 text 文本,还可以转换为 HTML 等带有标签的文本。上面只是最简单的示例,如果每页有很独特的标志,你还可以按页单独处理。
将 PDF 转化为纯文本格式
抽取其中部分内容
格式化写入到 excel 中
转换 PDF 有很多库可以完成,如下是通过 pdfminer 的示例:
from cStringIO import StringIO
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
def convert_pdf_2_text(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
device = TextConverter(rsrcmgr, retstr, codec='utf-8', laparams=LAParams())
interpreter = PDFPageInterpreter(rsrcmgr, device)
with open(path, 'rb') as fp:
for page in PDFPage.get_pages(fp, set()):
interpreter.process_page(page)
text = retstr.getvalue()
device.close()
retstr.close()
return text
需要指出的是,pdfminer 不但可以将 PDF 转换为 text 文本,还可以转换为 HTML 等带有标签的文本。上面只是最简单的示例,如果每页有很独特的标志,你还可以按页单独处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询