Python - 从网页 PDF 中提取文本

rah*_*f23 4 python web-scraping pdfminer

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

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

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

Dro*_*Av. 6

您可以将文件下载为字节流并使用requests包装它io.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')
Run Code Online (Sandbox Code Playgroud)

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

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