V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
kenneth
V2EX  ›  Python

想写个程序定时发微博,用那种方案好?

  •  
  •   kenneth · 2012-12-31 14:42:51 +08:00 · 6759 次点击
    这是一个创建于 4370 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大体思路是这样:
    1.python定时任务
    2.消息队列

    疑问:python如何写定时任务,有木有好的方案?定时发微博,用什么消息队列处理好?
    28 条回复    1970-01-01 08:00:00 +08:00
    yupbank
        1
    yupbank  
       2012-12-31 15:07:51 +08:00
    crontab?
    wwwjfy
        2
    wwwjfy  
       2012-12-31 15:41:25 +08:00
    要是自己用的话文本文件就够了~
    BeanYoung
        3
    BeanYoung  
       2012-12-31 15:45:57 +08:00
    真要用消息队列的话,celery或者rq。celery功能比较全,任务链,子任务,定时任务。rq相对来说功能少,但是简单使用也够了,而且有flask的管理界面。
    再简单的就用cron job
    Candyhorse
        4
    Candyhorse  
       2012-12-31 15:48:26 +08:00
    我倒是想知道怎么发微博?

    oauth 2.0么,对于未认证应用,岂不是 24 小时就得手动认证一次?
    除了 api 之外,还有啥好办法?

    谢谢:)
    notedit
        5
    notedit  
       2012-12-31 16:01:00 +08:00
    @Candyhorse 开发者账号 token永不过期
    kenneth
        6
    kenneth  
    OP
       2012-12-31 16:01:27 +08:00
    @BeanYoung 言简意赅,高手。只是代码实现,我还搞不定,还要研究。
    @Candyhorse 发微博简单,就是拿到access_token以后,根据API来。未认证的确实很快过期。
    kenneth
        7
    kenneth  
    OP
       2012-12-31 16:03:06 +08:00
    http://www.mvmap.com/auth/weibo
    帮我来测试一下,先拿令牌先。
    yaotian
        8
    yaotian  
       2012-12-31 17:23:40 +08:00
    我有不用oauth的解决方案。发帖接口免费使用。
    qiayue
        9
    qiayue  
       2012-12-31 18:31:22 +08:00
    @notedit 开发者账号 token永不过期
    请问下这句话什么意思?搜索了一下发微博的,看过好几次这句话。

    我现在的需求是帮助他人发微博,并且是用他的账号发,而不是用我自己这个开发者的账号发。
    Candyhorse
        10
    Candyhorse  
       2012-12-31 18:43:28 +08:00
    @notedit

    哦?新政策么?上半年用的时候自己的应用用自己的号授权,还得每天一次。。。
    Candyhorse
        11
    Candyhorse  
       2012-12-31 18:44:42 +08:00
    @yaotian

    模拟浏览器的登录和发帖程序么?
    Mutoo
        12
    Mutoo  
       2012-12-31 20:29:38 +08:00
    这类产品不是已经很多了吗……比如:时光机
    hahastudio
        13
    hahastudio  
       2012-12-31 21:33:10 +08:00
    模拟浏览器+time.sleep(3600)
    #懒人有懒法
    jacy
        14
    jacy  
       2012-12-31 21:36:38 +08:00
    gae完全能实现,用crontab
    kenneth
        15
    kenneth  
    OP
       2012-12-31 23:14:07 +08:00
    @Mutoo 乐趣在于自己动手实践。
    @qiayue 开发者的session_expires是None,可以一直使用。如果要用别人的账号发,需要保留别人的access_token,每次请求的时候把这个令牌带上。还有一点,认证需要通过审核才可以。

    To All:还是希望用一个队列的方案
    yaotian
        16
    yaotian  
       2012-12-31 23:22:13 +08:00
    @Candyhorse 对。自动微博营销。用了粉丝自动会增加。
    notedit
        17
    notedit  
       2013-01-01 12:27:48 +08:00
    @qiayue
    @Candyhorse

    就是说如果你的账号是开发者账号 你在一个应用中获取的token是不会过期的 不用每个几天再重新授权一次

    应该是今年的政策吧
    arzusyume
        18
    arzusyume  
       2013-01-01 17:28:03 +08:00
    @Candyhorse 以前在朱一那个微博是个好图床里面看他提到过一种方案,我懒得搜,应该是http://phantomjs.org/这个
    cabbala
        19
    cabbala  
       2013-01-01 20:15:04 +08:00 via Android
    python定时任务用aps
    Candyhorse
        20
    Candyhorse  
       2013-01-02 16:10:00 +08:00
    @arzusyume 是说模拟 浏览器 行为?

    好东西,Thanks ~
    phuslu
        21
    phuslu  
       2013-01-02 16:28:02 +08:00 via iPhone
    BAE
    sedgwickz
        22
    sedgwickz  
       2013-01-02 16:53:55 +08:00
    Oauth拿到accesstoken,定时器发送,不过没有认证的appkey有效期是24h,审核后是7*24h。至于用什么语言就无所谓了。
    SErHo
        23
    SErHo  
       2013-01-02 17:06:15 +08:00
    最简单的还是用这个:http://packages.python.org/APScheduler/
    icewent
        24
    icewent  
       2013-01-03 16:55:26 +08:00
    @qiayue 我的应用(已过审核),保存了我自己的token(开发者)。过了7天,token失效了一次,再次授权后,修改了token再次保存,之后就一直没有失效过。到现在已经四个月了。我想永不过期是这个意思。
    qiayue
        25
    qiayue  
       2013-01-03 21:38:28 +08:00
    @icewent 谢谢!那你这个应用可以用微博用户(已授权给你应用)的账号发布微博内容吗?
    icewent
        26
    icewent  
       2013-01-04 12:50:53 +08:00
    @qiayue 按理说,取得用户token后,能。我没试过,我觉得这不道德。我注册个马甲试试去。
    qiayue
        27
    qiayue  
       2013-01-04 13:20:53 +08:00
    @icewent 就像心理测试类app一样,测试完之后以用户名义发布一条微博
    并不是干其他是什么违法事情
    icewent
        28
    icewent  
       2013-01-04 14:07:27 +08:00
    这个是可以的,不用保存token,直接在用户执行某个操作时,告知或者不告知地发一条微博就行。
    这与定时任务无关。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.