Python - 从网页PDF中提取文本

Python - Extracting text from webpage PDF

所以我看到了一些关于将 PDF 转换为 HTML 或将它们转换为文本的帖子,但是它们都是从保存到计算机的文件中处理的。有没有一种方法可以在不下载 PDF 文件本身的情况下从网页 PDF 中提取文本(因为我将通过遍历 URL 的列表来对大量文件这样做)?

我也很好奇哪个库是实现这一目标的最佳库。 pdfkit、pdf2txt、pdfminer 等?

这是我将要处理的格式的示例网站:http://www.arkansasrazorbacks.com/wp-content/uploads/2017/02/Miami-Ohio-Game-2.pdf

您可以将文件下载为字节流,requestsio.BytesIO() 包裹它,就这样:

import io

import requests
from pyPdf import PdfFileReader

url = 'http://www.arkansasrazorbacks.com/wp-content/uploads/2017/02/Miami-Ohio-Game-2.pdf'

r = requests.get(url)
f = io.BytesIO(r.content)

reader = PdfFileReader(f)
contents = reader.getPage(0).extractText().split('\n')

f 是一个类似文件的对象,您可以像打开 PDF 文件一样使用它。这样文件就只存在于内存中,不会保存在本地。

要从 PDF 文件中获取文本,您可以使用 PyPdf。