python怎样读取pdf文件的内容

 我来答
龙氏风采
2016-12-24 · 知道合伙人互联网行家
龙氏风采
知道合伙人互联网行家
采纳数:5849 获赞数:12817
从事互联网运营推广,5年以上互联网运营推广经验,丰富的实战经

向TA提问 私信TA
展开全部
  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 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()文件对象。
  3,展望
  这个实验只是把pdf转换成了文本,但是没有像开头所说的转换成html标签,那么在Python编程环境下是否有这个能力,留待今后探索。
  4,集搜客GooSeeker开源代码下载源
  1. GooSeeker开源Python网络爬虫GitHub源
  5,文档修改历史
  2016-05-26:V2.0,增补文字说明
  2016-05-29:V2.1,增加第六章:源代码下载源,并更换github源的网址
桃子SAYE
2016-12-24
知道答主
回答量:3
采纳率:0%
帮助的人:3078
展开全部
百度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式