pyspider怎么维护一个全局变量
我需要采集一个列表,最后把所有的列表的结果生成一个json字段。
但是我发现,pyspider没办法创建一个全局变量。
每个列表的url,callback过去的是时候,每callback一次,就刷新了一次那个全局变量,最后只能留下一个列表的结果
就像下面的代码,大概写的,每一个list的callback都会让dbObj初始化,然后在更新,而不是在之前的值基础上更新
应该怎么维护一个全局变量啊在pyspider
class Handler(BaseHandler):
dbObj = {
}
def list_page(self,response):
self.crawl('list1',callback=self.detail_page)
self.crawl('list2',callback=self.detail_page)
self.crawl('list3',callback=self.detail_page)
self.crawl('list4',callback=self.detail_page)
self.crawl('list5',callback=self.detail_page)
self.crawl('list6',callback=self.detail_page)
self.crawl('list7',callback=self.detail_page)
self.crawl('list8',callback=self.detail_page)
def tail_page(self,response):
object['list'+str(i)] = response.text
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用save吧?
self.crawl('list1',callback=self.detail_page, save={key: value})
detail_page里就有save中存的值了
「我需要采集一个列表,最后把所有的列表的结果生成一个json字段。」 抓取完后在外部完成
题主的代码里我看到了dbObj,我又看到了 object,是不是应该写成self.dbObj?