scrapy使用相同的会话访问网站

时间:2016-06-11 07:11:15

标签: python session cookies scrapy

我想使用相同的会话来访问一些网址。在阅读了关于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

任何人都可以解释为什么这不起作用吗?

1 个答案:

答案 0 :(得分:0)

嗯,最简单有力的方法是打开firebug,查看请求标头中究竟是什么,然后复制所有值,除了会改变的cookie,需要你在程序中设置它。 就像浏览器一样。