Python - 从网页PDF中提取文本

时间:2017-08-02 21:04:22

标签: 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

1 个答案:

答案 0 :(得分:1)

您可以将文件作为字节流下载,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')

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

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