我使用scrapy抓取網站 我這是怎麼保持登錄後的餅乾罐如何使用Scrapy下載圖像,需要餅乾
def start_requests(self):
return [scrapy.Request("https://www.address.com", meta = {'cookiejar' : 1}, callback = self.post_login)]
def post_login(self, response):
print('Preparing login')
return [FormRequest.from_response(response, #"http://www.zhihu.com/login",
meta = {'cookiejar' : response.meta['cookiejar']},
headers = self.headers,
formdata = {
'username': 'user',
'password': 'pass123'
},
callback = self.after_login,
)]
然後,每個請求我將需要
yield scrapy.Request(curr, meta={'cookiejar':response.meta['cookiejar']}, callback=self.parse_detail)
一切順利,直到我需要從網站上抓取圖像。 我需要使用scrapy的urllib.request.urlretrive(),imagePipeline或類似工具來打開image_url。
但我怎樣才能通過我的餅乾罐呢?否則,它將被重定向到登錄頁面。
或者有沒有辦法直接用scrapy請求下載圖片?
謝謝eLRuLL,爲解決這個問題對我來說 但需要的代碼從IO進口BytesIO而不是從StringIO的進口StringIO的 少許修改在python3
,然後使用BytesIO在以下碼。
安裝
PIL
爲什麼你需要'urllib',使圖像的要求嗎?如果你做了scrapy請求,它會自動加載cookie – eLRuLL我想下載圖像,有沒有辦法讓圖像內容與scrapy請求? –
是你的問題嗎?如何將scrapy響應解析爲圖像對象? – eLRuLL