资讯专栏INFORMATION COLUMN

Python读取PDF内容

callmewhy / 3350人阅读

摘要:,引言晚上翻看网络数据采集这本书,看到读取内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页内容的抓取规则,这个规则能够把内容当成来做网页抓取。,把转换成文本的源代码下面的源代码,读取文件内容互联网上的或是本地的,转换成文本,打印出来。

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源的网址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37973.html

相关文章

  • Python之将Python字符串生成PDF

    摘要:笔者在今天的工作中,遇到了一个需求,那就是如何将字符串生成。比如,需要把字符串这是测试文件生成为该中含有文字这是测试文件。   笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF。比如,需要把Python字符串‘这是测试文件’生成为PDF, 该PDF中含有文字‘这是测试文件’。  经过一番检索,笔者决定采用wkhtmltopdf这个软件,它可以将HTML转化为...

    Freelander 评论0 收藏0
  • 教你20行python代码实现编辑永久免费pdf工具

      小编写这篇文章的主要目的,主要是给大家介绍一下关于python代码实现pdf编辑免费pdf工具相关知识的解答。  PDF是在日常生活中使用范围还是比较的广泛的,很多的文档都是PDF格式。格式稳定是他的一个优势,使得我们在打印、分享、传输过程中能够最优的保持原有色彩和格式。  PDF各种各样的的版本是比较的多的,它在格式的稳定性方面虽然具有很大优势。但是,在可编辑性方面却为使用者引入了另外一个困...

    89542767 评论0 收藏0
  • 数据分析遇到PDF文本,怎么用Python批量提取内容

    摘要:复杂系统仿真的微博客虚假信息扩散模型研究面向影子分析的社交媒体竞争情报搜集面向人机协同的移动互联网政务门户探析经验证。微博客的企业竞争情报搜集移动社交媒体用户隐私保护对策研究注意这里的提示,原先的个文件没有被再次抽取,只有个新文件被抽取。 showImg(https://segmentfault.com/img/bVbiU7y?w=1000&h=508); 本文为你展示,如何用Pyth...

    cloud 评论0 收藏0
  • Python之合并PDF文件

    摘要:在日常的学习生活工作中,我们有时会遇到需要合并文件的需求。模块的相关参考文档网址为本文将介绍如何利用来完成文件的合并。   在日常的学习生活工作中,我们有时会遇到需要合并PDF文件的需求。这时,我们可以利用相关的PDF软件(如Adobe Acrobat Reader DC)来完成这个任务,幸运的是,Python也为我们提供了这方面的处理模块PyPDF2, 借用它,我们可以利用Pytho...

    maxmin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<