Python 拥有大量用于处理不同类型操作的库。要从 PDF 中提取数据和元信息,我们使用PyPdf2包。它易于使用,并具有许多不同的操作或工具包,例如从 PDF 中提取数据、在文档中搜索关键字、提取元信息(例如查找超链接、URL 和其他信息)。使用 PyPDF2 包,我们将从 pdf 文档中提取超链接。
我们将按照以下步骤从 PDF 中提取超链接,
通过在命令 shell 中键入pip install PyPDF2在本地计算机中安装 PyPDF2。
导入 PyPDF2。
以二进制模式打开文件,它会识别文件中的 URL 模式。
定义一个函数来提取特定页面的链接。
遍历所有页面并使用extractText()函数提取文本。
为了从 PDF 中提取超链接,我们通常使用 Python 中的模式匹配概念。现在导入 re以使用正则表达式查找模式。
使用 查找与http:// 或 https://findall(regex, string)匹配的模式。
如果找到任何 URL,则返回该 URL 并将其打印在屏幕上。
#导入必要的包 import PyPDF2 import re #在命令中打开文件 file = open("newfile.pdf", 'rb') readPDF = PyPDF2.PdfFileReader(file) def find_url(string): #查找所有与模式匹配的字符串 regex = r"(https?://\S+)" url = re.findall(regex,string) for url in url: return url #遍历 File 的所有页面 for page_no in range(readPDF.numPages): page=readPDF.getPage(page_no) #从页面中提取文本 text = page.extractText() #打印所有网址 print(find_url(text)) #C丢失文件 file.close()输出结果
运行上面的代码将打印给定 PDF 文档文件中所有可用的超链接。