【问题标题】:Python - Extracting text from webpage PDFPython - 从网页 PDF 中提取文本
【发布时间】:2017-08-02 21:04:21
【问题描述】:

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

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

这是一个示例网站,我将使用以下格式:http://www.arkansasrazorbacks.com/wp-content/uploads/2017/02/Miami-Ohio-Game-2.pdf

【问题讨论】:

  • 即使在网络浏览器中查看 PDF 时,您也会将副本下载到本地缓存中。即使您正在查看的内容已保存在浏览器的 tmp 目录中的磁盘中,您的浏览器仍会向您显示远程 URL。为什么不做同样的事情?

标签: python web-scraping pdfminer


【解决方案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。

【讨论】:

  • 这个答案还需要你import io.现在,我将如何从这个文件对象 f 中提取文本?
  • 编辑了答案以提供更完整的答案,感谢@Milk 提供链接和第二部分。
  • @Dror Av.,我已使用您的代码块来帮助此链接 stackoverflow.com/questions/67931135/… 上的另一个用户。谢谢你。它有助于帮助他人。
猜你喜欢
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 2019-06-26
相关资源
最近更新 更多