51Testing软件测试论坛

标题: pyspider框架中crawl()函数如何实现变量的传递? [打印本页]

作者: 测试积点老人    时间: 2021-3-17 13:11
标题: pyspider框架中crawl()函数如何实现变量的传递?
在写爬虫的时候遇到这样一个问题:
  1. global num
  2. num = 0

  3. class Handler(BaseHandler):
  4.     crawl_config = {

  5.     }


  6.     @every(minutes=24 * 60)
  7.     def on_start(self):
  8.         global num
  9.         num += 1
  10.         print num
  11.         self.index_page()


  12.     @config(age=10 * 24 * 60 * 60)
  13.     def index_page(self):
  14.         global num
  15.         num +=1
  16.         print num
  17.         self.crawl('百度一下,你就知道',callback=self.detail_page)
  18.         print num



  19.     @config(priority=2)
  20.     def detail_page(self):
  21.         global num
  22.         print num    #这里打印的num 是初始值,并不是被index_page处理过的值
  23.         num += 1
  24.         print num
复制代码
crawl()函数回调函数的值都是初始化的,并没有保留被修改的值,有没有什么解决方法?

作者: vbgfhgfh    时间: 2021-3-17 19:56
北京定额费发票哪里有北京定额费发票
作者: qqq911    时间: 2021-3-18 11:03
自己重写方法传变量
作者: jingzizx    时间: 2021-3-18 16:45
自己传不行吗




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2