在 Python 中从 PDF 中提取超链接

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 文档文件中所有可用的超链接。