首页 > 解决方案 > PDFMiner Version diffs?Getting UnsupportedOperation: seek

问题描述

我正在使用爬虫从网站上获取一些 pdf 文件并将其转换为 txt,我得到了这个 Error Getting UnsupportedOperation: seek.

我搜索了很多网站,但无法帮助我解决问题。

文件“”,第 51 行,解析 praser_pdf = PDFParser(fp)

文件“D:\Anaconda\lib\site-packages\pdfminer\pdfparser.py”,第 43 行,在init PSStackParser 中。初始化(自我,fp)

文件“D:\Anaconda\lib\site-packages\pdfminer\psparser.py”,第 515 行,在init PSBaseParser 中。初始化(自我,fp)

文件“D:\Anaconda\lib\site-packages\pdfminer\psparser.py”,第 169 行,在init self.seek(0)中

文件“D:\Anaconda\lib\site-packages\pdfminer\psparser.py”,第 527 行,在 seek PSBaseParser.seek(self, pos)

文件“D:\Anaconda\lib\site-packages\pdfminer\psparser.py”,第 199 行,在 seek self.fp.seek(pos)

不支持的操作:seek

这是我的代码

baseurl = "http://reportdocs.static.szse.cn/UpFiles/fxklwxhj/"

def parse(docucode):

_path = baseurl + quote(docucode) +"?random=0.3006649122149502"

request = Request(url=_path, headers=headers)  

fp = urlopen(request)

praser_pdf = PDFParser(fp)

doc = PDFDocument()

praser_pdf.set_document(doc)
doc.set_parser(praser_pdf)

doc.initialize()

该代码无法工作,它只是在 praser_pdf = PDFParser(fp) 中分解,我真的很想知道如何解决它!

非常感谢!

标签: pythonpdfminerunsupportedoperation

解决方案


这是从 url 读取 pdf 并写入输出文件的示例实现。注意:此实现适用于 pdfminer:20191125 并且不包括对来自 url 的响应的错误处理

from urllib.request import urlopen, Request
import os
pdf_url = "http://www.inkwelleditorial.com/pdfSample.pdf"
rp1 = Request(pdf_url)
fp = urlopen(rp1)
output_path = "/home/mint/Desktop/temper.html"
input_path = "/home/mint/Desktop/temper.pdf"

open(input_path, "w").close() # For making the output file as empty before going forward
with open(input_path, "wb") as f:
    f.write(fp.read())
command = "pdf2txt.py -t html -o {} {} ".format(output_path, input_path)
os.system(command)


推荐阅读