Python读取PDF内容

优采云 发布时间: 2022-06-11 08:10

  Python读取PDF内容

  

  1.引言

  晚上翻看《Python网络数据采集》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则,这个规则能够把pdf内容当成html来做网页抓取。神奇之处要归功于Firefox解析PDF的能力,能够把pdf格式转换成html标签,比如,div之类的标签,从而用GooSeeker网页抓取软件像抓普通网页一样抓取结构化内容。

  从而产生了一个问题:用Python爬虫的话,能做到什么程度。下面将讲述一个实验过程和源代码。

  2.把pdf转换成文本的Python源代码

  下面的python源代码,读取pdf文件内容(互联网上的或是本地的),转换成文本,打印出来。这段代码主要用了一个第三方库PDFMiner3K把PDF读成字符串,然后用StringIO转换成文件对象。(源代码下载地址请见文章末尾的GitHub源)

  from urllib.requestimport urlopenfrom pdfminer.pdfinterp import PDFResourceManager,process_pdffrom pdfminer.converter import TextConverterfrom pdfminer.layoutimport LAParamsfrom io import StringIOfrom io import opendef 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 contentpdfFile = urlopen("")outputString= readPDF(pdfFile)print(outputString)pdfFile.close()

  如果PDF文件在你的电脑里,那就把urlopen返回的对象pdfFile替换成普通的open()文件对象。

  3.展望

  这个实验只是把pdf转换成了文本,但是没有像开头所说的转换成html标签,那么在Python编程环境下是否有这个能力,留待今后探索。

  End.

  作者:fullerhua(中国统计网特邀认证作者)

  本文为中国统计网原创文章,需要转载请联系中国统计网( ),转载时请注明作者及出处,并保留本文链接。

  更多精彩,长按下方图片中的二维码,下载APP查看。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线