我想使用相同的会话来访问一些网址。在阅读了关于cookie的文档后,我在下面这样做:
def start_requests(self):
yield scrapy.Request(self.getUrl, meta={'cookiejar': 0}, callback=self.downloadPic)
def downloadPic(self, response):
yield scrapy.Request(self.vcodeUrl, meta={'cookiejar': response.meta['cookiejar']}, callback=self.getAndHandlePic
def getAndHandlePic(self, response):
# handle picture, not the point here
pic = self.handlePic(response.body)
yield FormRequest(self.postUrl, formdata={'a':a, 'pic':pic}, meta={'cookiejar': response.meta['cookiejar']}, callback=self.parse)
def parse(self, response):
# do process source code
任何人都可以解释为什么这不起作用吗?
答案 0 :(得分:0)
嗯,最简单有力的方法是打开firebug,查看请求标头中究竟是什么,然后复制所有值,除了会改变的cookie,需要你在程序中设置它。 就像浏览器一样。