楼主: 浪子彦青
1687 0

[网帖精选] 使用Python读取PDF内容_Python实战应用 [推广有奖]

院士

39%

还不是VIP/贵宾

-

威望
1
论坛币
3261 个
通用积分
127.6558
学术水平
74 点
热心指数
86 点
信用等级
63 点
经验
27315 点
帖子
1718
精华
0
在线时间
421 小时
注册时间
2016-6-4
最后登录
2021-2-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

使用Python读取PDF内容_Python实战应用

1.引言     

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

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



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


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


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("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")outputString= readPDF(pdfFile)print(outputString)pdfFile.close()

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


   3.展望  

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

End.

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


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python PDF Converter Converte resource Python数据采集 Python格式转换 使用Python读取PDF内容 Python实战应用 Python转换pdf

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 13:51