私はScrapyスパイダーを使って、slateを使ってディレクトリ内の複数のPDFファイルからテキストを抽出しようとしています。私は実際のPDFをディスクに保存することに興味がないので、io.bytesIOサブクラスhttps://docs.python.org/2/library/io.html#buffered-streamsを調べることをお勧めしました。bytesIOオブジェクトの作成
しかし、PDFボディをbytesIOクラスに渡して、バーチャルPDFスレートを渡してテキストを取得する方法がわかりません。これまでのところ私が持っている:私は取得しています
class Ove_Spider(BaseSpider):
name = "ove"
allowed_domains = ['myurl.com']
start_urls = ['myurl/hgh/']
def parse(self, response):
for a in response.xpath('//a[@href]/@href'):
link = a.extract()
if link.endswith('.pdf'):
link = urlparse.urljoin(base_url, link)
yield Request(link, callback=self.save_pdf)
def save_pdf(self, response):
in_memory_pdf = BytesIO()
in_memory_pdf.read(response.body) # Trying to read in PDF which is in response body
:
in_memory_pdf.read(response.body)
TypeError: integer argument expected, got 'str'
がどのように私はこの作業を得ることができますか?