Python,scrapy:pdf到文本的转换:运行代码时没有错误,但是don';似乎没有产生任何产出
我是python、scrapy和web scraping的新手,所以我的问题可能看起来很幼稚。对此表示歉意 我想使用scrapy从pdf文件中提取数据。在这个主题上有几个关于stackoverflow的问题,我从给出的答案中查找并复制了下面的代码。但是,我无法看到任何输出。在代码中使用print函数直接查看输出,尝试将返回值写入excel文件,但也没有显示任何输出。我也没有收到任何错误 我使用的代码如下:Python,scrapy:pdf到文本的转换:运行代码时没有错误,但是don';似乎没有产生任何产出,python,scrapy,pdftotext,Python,Scrapy,Pdftotext,我是python、scrapy和web scraping的新手,所以我的问题可能看起来很幼稚。对此表示歉意 我想使用scrapy从pdf文件中提取数据。在这个主题上有几个关于stackoverflow的问题,我从给出的答案中查找并复制了下面的代码。但是,我无法看到任何输出。在代码中使用print函数直接查看输出,尝试将返回值写入excel文件,但也没有显示任何输出。我也没有收到任何错误 我使用的代码如下: from pdfminer.pdfinterp import PDFResourceMan
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = file(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 2
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
strval = retstr.getvalue()
print strval
fp.close()
device.close()
retstr.close()
return strval
谁能告诉我哪里出了问题
谢谢!
图希纳我在这里没有看到任何零碎的代码。你确定你的方法是从你的剪贴代码中调用的吗?(提示:如果您在
将\u pdf\u转换为\u txt
中添加一个打印路径
作为第一行,您是否将路径作为输出?@GHajba:我已尝试在开始时打印路径,它给出了正确的路径值。我已经将上述代码放在一个名为pdfscraper.py的单独文件中。我有另一个文件,其中定义了一个spider。在spider的parse函数中,我调用covert_pdf_to_txt函数[在文件开头导入它之后]。我不确定这是否是正确的方法。也许我在这里做错了什么?如果将路径打印到控制台,则调用该方法。您是否尝试过调试代码过程——将print语句放在某些语句之后,以查看代码到达的位置和停止的位置?或者,在处理完页面后,您是否尝试在for
循环的内部打印retstr.getvalue()
,以查看每次迭代的结果?@GHajba:在不同的点添加了打印stmt,包括在返回stmt之前,所有这些都被打印,因此我们将查看整个代码。但是,print retstr.getvalue()
不打印任何内容:(它是否在
for
循环中打印某些内容?因为可能会发生这样的情况,retstr
最后是空的——这就是为什么没有得到结果,但在循环中它有时会被填充。