我想使用同一个会话来访问一些url。在阅读了关于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
有人能解释一下为什么这样不行吗?在
好吧,最简单有力的方法是打开firebug,看看请求头中到底有什么,然后复制所有的值,除了cookie之类的需要在程序中设置的值。 就像浏览器一样。在
相关问题 更多 >
编程相关推荐