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
您可以将文件下载为字节流,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。
所以我看到了一些关于将 PDF 转换为 HTML 或将它们转换为文本的帖子,但是它们都是从保存到计算机的文件中处理的。有没有一种方法可以在不下载 PDF 文件本身的情况下从网页 PDF 中提取文本(因为我将通过遍历 URL 的列表来对大量文件这样做)?
我也很好奇哪个库是实现这一目标的最佳库。 pdfkit、pdf2txt、pdfminer 等?
这是我将要处理的格式的示例网站:http://www.arkansasrazorbacks.com/wp-content/uploads/2017/02/Miami-Ohio-Game-2.pdf
您可以将文件下载为字节流,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。