51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3833|回复: 3
打印 上一主题 下一主题

pyspider框架中crawl()函数如何实现变量的传递?

[复制链接]
  • TA的每日心情
    无聊
    7 小时前
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-3-17 13:11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    在写爬虫的时候遇到这样一个问题:
    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()函数回调函数的值都是初始化的,并没有保留被修改的值,有没有什么解决方法?

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2021-3-17 19:56:49 | 只看该作者
    北京定额费发票哪里有北京定额费发票
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 1517 天

    连续签到: 1 天

    [LV.Master]测试大本营

    3#
    发表于 2021-3-18 11:03:13 | 只看该作者
    自己重写方法传变量
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 2813 天

    连续签到: 1 天

    [LV.Master]测试大本营

    4#
    发表于 2021-3-18 16:45:59 | 只看该作者
    自己传不行吗
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 17:45 , Processed in 0.073897 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表