我使用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