0
我是Python新手,使用Scrapy時出現問題。我需要從URL下載一些PDF文件(這些URL指向PDF,但其中沒有.pdf
),並將它們存儲在一個目錄中。如何使用Scrapy保存PDF文件?
到目前爲止,我已填充我的項目有標題(你可以看到我已經通過了標題爲我以前的請求,元數據)和身體(這是我從我的最後一個請求的響應身體得到)。
當使用with open
功能在我的代碼,但是,我總是這樣從終端得到一個錯誤回來:
exceptions.IOError: [Errno 2] No such file or directory:
這裏是我的代碼:
def parse_objects:
....
item = Item()
item['title'] = titles.xpath('text()').extract()
item['url'] = titles.xpath('a[@class="title"]/@href').extract()
request = Request(item['url'][0], callback = self.parse_urls)
request.meta['item'] = item
yield request
def parse_urls(self,response):
item = response.meta['item']
item['desc'] = response.body
with open(item['title'][1], "w") as f:
f.write(response.body)
我使用item['title'][1]
,因爲標題字段是一個列表,我需要使用第二個名稱保存PDF文件。據我所知,當我使用with open
並且沒有這樣的文件時,Python會自動創建一個文件。
我正在使用Python 3.4。
任何人都可以幫忙嗎?
後的'url'您在其上運行的蜘蛛。那麼我們可以測試你的代碼。發佈你的'打開'功能也 – 2014-11-22 18:20:55
我發現我的自我解決方案。我試圖保存在其標題中包含字符「/」的pdf文件,因此在函數「with open」中這看起來像一個目錄。我用下劃線(_)更改了反斜槓,並且一切似乎都正常工作。 – bettas 2014-11-23 20:59:14