【发布时间】:2021-08-08 09:36:08
【问题描述】:
背景:Python 3.7 & pdfminer.six
使用此处找到的信息:Exporting Data from PDFs with Python,我有以下代码:
import io
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfpage import PDFPage
def extract_text_from_pdf(pdf_path):
resource_manager = PDFResourceManager()
fake_file_handle = io.StringIO()
converter = TextConverter(resource_manager, fake_file_handle)
page_interpreter = PDFPageInterpreter(resource_manager, converter)
with open(pdf_path, 'rb') as fh:
for page in PDFPage.get_pages(fh,
caching=True,
check_extractable=True):
page_interpreter.process_page(page)
text = fake_file_handle.getvalue()
# close open handles
converter.close()
fake_file_handle.close()
if text:
return text
if __name__ == '__main__':
path = '../_pdfs/mypdf.pdf'
print(extract_text_from_pdf(path))
这可行(耶!),但我真正想做的是通过其 url 直接请求 pdf,而不是打开预先保存到本地驱动器的 pdf。
我不知道如何修改“打开”逻辑以从远程 url 调用,我也不确定哪个请求库最适合用于最新版本的 Python(请求、urllib、urllib2、等等?)
我是 Python 新手,所以请记住这一点(P.s. 我发现了其他关于此的问题,但我无法解决 - 可能是因为它们往往很旧。)
任何帮助将不胜感激!谢谢!
【问题讨论】:
标签: python python-3.x python-requests urllib pdfminer