当前位置:首页 » 编程语言 » python读取pdf的内容

python读取pdf的内容

发布时间: 2022-06-22 16:53:57

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

② 如何利用Python抓取PDF中的某些内容

你的问题事实上包含几部分:

将 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 等带有标签的文本。上面只是最简单的示例,如果每页有很独特的标志,你还可以按页单独处理。

③ python怎样读取pdf文件的内容

fromurllib.requestimporturlopen
frompdfminer.,process_pdf
frompdfminer.converterimportTextConverter
frompdfminer.layoutimportLAParams
fromioimportStringIO
fromioimportopen

defreadPDF(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()
returncontent

pdfFile=urlopen("chapter1.pdf")
outputString=readPDF(pdfFile)
print(outputString)
pdfFile.close()

④ python怎样读取pdf文件的内容

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

⑤ 如何使用python来获取pdf文件里的文字,最好是不能乱码

提取pdf文字可以推荐一个工具

第一种文字型PDF比较简单,可以采用格式转换的方式直接转换PDF文件为文本。打开PDF文字识别软件,执行“文件”-“打开图像...”导入PDF文件,然后执行“输出”-“PDF文件转换为TXT文件”第二种图像型PDF,有的PDF都是扫描图片,这个就不能复制文字了,可以采用OCR识别的方式,将PDF文件转换为可编辑文档。这也是本文主要讲的pdf文字识别方法。还是打开PDF文字提取软件,执行“文件”-“打开图像...”导入PDF文件。然后执行“识别”-“开始识别...”。

⑥ 如何解决Python读取PDF内容慢的问题

1,引言

晚上翻看《Python网络数据采集》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则

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

⑦ 请问怎么通过python爬虫获取网页中的pdf文件

首先把链接URL爬取出来,然后get流下载pdf文件,再用pdf模块来读取它。

⑧ 如何用python获取pdf文档中的文本内容和文本坐标

可以使用 pdfminer模块来识别读取 pdf 中的文本内容

⑨ 如何用Python从大量pdf 中提取表格中的数据进行分析

试试tabula,读取pdf后可转为pandas dataframe进行后续处理,也可直接输出csv文件。
python版本的项目主页,
安装:pip install tabula-py
如果包含中文内容需要修改编码格式:
pd.read_csv("example.csv", encoding="GB18030")
(ps下次提问请先查看万能的stackoverflow:
Extracting table contents from a collection of PDF files)

⑩ 如何用python提取pdf中所需要的内容

PDFResourceManager类里面貌似包含了文本的类型.

热点内容
python时间毫秒数 发布:2025-02-05 20:51:32 浏览:329
clash安卓如何切换节点 发布:2025-02-05 20:48:20 浏览:889
怎样能用到方舟编译器 发布:2025-02-05 20:47:04 浏览:366
数据库的算法 发布:2025-02-05 20:25:32 浏览:859
微信解压异常 发布:2025-02-05 20:24:39 浏览:493
linux0字节文件夹 发布:2025-02-05 20:23:07 浏览:652
专题的脚本怎么写 发布:2025-02-05 20:19:18 浏览:923
独立站买什么服务器 发布:2025-02-05 20:13:24 浏览:296
android闹钟设置 发布:2025-02-05 20:12:29 浏览:955
计算机代码经典编程 发布:2025-02-05 19:25:09 浏览:757