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
isayme
V2EX  ›  Python

也来个自动领取奖励脚本~

  •  
  •   isayme ·
    isayme · 2013-05-17 08:13:12 +08:00 · 5847 次点击
    这是一个创建于 4207 天前的主题,其中的信息可能已经有所发展或是发生改变。
    @xuelang 已经写了一个(参见 http://www.v2ex.com/t/68549 )。

    Python脚本,使用PyCurl库(或PyCurl2)模拟爬取网页。

    上面两个库随便安装一个即可,请使用 pip install pycurl 或 pip install pycurl2 安装。

    这个脚本使用的是cookie验证,没有用账号密码模拟登录。
    V2EX中验证登录的cookie字段是auth,你需要将这个字段的值存在在脚本中~

    具体请看:

    https://gist.github.com/isayme/5595766
    26 条回复    1970-01-01 08:00:00 +08:00
    thedevil5032
        1
    thedevil5032  
       2013-05-17 08:19:38 +08:00 via iPad
    @Livid 他们都是坏人。 LOL
    thedevil5032
        2
    thedevil5032  
       2013-05-17 08:28:27 +08:00 via iPad
    认真看了源码,求教两个问题。

    1,为什么 if 是这样用的?
    if 值 == 变量?

    2,你确定 None 也用 == 判断?(悄悄告诉你,不是的)

    最后,其实判断 True or False 用 if xx 就好了,不用 True == xx。
    后面两条参考的是 PEP8,仅供参考。
    terrychang
        3
    terrychang  
       2013-05-17 08:32:34 +08:00
    不太明白这个奖励机制,必须点击一下的目的何在
    Livid
        4
    Livid  
    MOD
       2013-05-17 08:33:20 +08:00
    欢迎尝试。

    这个过程中,我也可以积累很多有用经验。
    andybest
        5
    andybest  
       2013-05-17 08:46:36 +08:00
    竟然要100多行。。。
    isayme
        6
    isayme  
    OP
       2013-05-17 08:47:16 +08:00
    @thedevil5032 我是python新人,主要做C的,所以很多东西都留有C的痕迹。。。
    本来我想用C写的,但既然是脚本。。

    @Livid @xuelang 说了用账号密码登录的注意点,我试了下,成功过,但是貌似只有几次。。。
    isayme
        7
    isayme  
    OP
       2013-05-17 08:49:47 +08:00
    @andybest 你可以去掉注释,去掉空行~哈哈 另外,个人不认为短小就好~
    thedevil5032
        8
    thedevil5032  
       2013-05-17 08:52:27 +08:00 via iPad
    @terrychang 对于没钱的人,可以继续"活"在这个社区。而有钱人就不太需要了。
    andybest
        9
    andybest  
       2013-05-17 09:18:25 +08:00
    @isayme 你写的挺好的,我是本以为python应该已封装了大部分http request工具,可以很短的
    regent
        10
    regent  
       2013-05-17 09:19:05 +08:00
    直接来个greasemonkey脚本不是方便多了
    XDA
        11
    XDA  
       2013-05-17 09:25:35 +08:00
    不明觉厉
    isayme
        12
    isayme  
    OP
       2013-05-17 09:33:09 +08:00
    @regent greasemonkey是网页类的吧(js?)~我不会这个~~

    @andybest 我用的这个库很强大的,所以可配置项很多~ linux下的 curl 命令就是用的这个库(当然,是c版的)~
    vibbow
        13
    vibbow  
       2013-05-17 12:20:36 +08:00
    PHP + Selenium实现的路过......
    jasanjun
        14
    jasanjun  
       2013-05-18 18:14:12 +08:00
    每天要运行一遍脚本才能领取奖励啊?@isayme
    jasanjun
        15
    jasanjun  
       2013-05-18 18:14:58 +08:00
    paul_lee123124
        16
    paul_lee123124  
       2013-05-18 18:18:48 +08:00
    哈哈。。。
    gzb1985
        17
    gzb1985  
       2013-05-18 18:22:01 +08:00
    手工领取不好吗,每天都有好玩的帖子,这样岂不是错过了
    westup
        18
    westup  
       2013-05-19 00:25:01 +08:00
    帮打卡,好友……
    ahu
        19
    ahu  
       2013-05-19 03:39:26 +08:00
    @vibbow Selenium好东东

    @isayme curl.AUTOREFERER好东东
    soli
        20
    soli  
       2013-08-31 10:04:50 +08:00
    不好使了。

    url [https://hk.v2ex.com/mission/daily] return code is : 502
    maybe your auth cookie not valid
    isayme
        21
    isayme  
    OP
       2013-09-04 09:04:06 +08:00
    @soli 额 貌似是的,晚上我看看~
    isayme
        22
    isayme  
    OP
       2013-09-06 19:03:24 +08:00
    @soli 已修复 可从 https://gist.github.com/isayme/5595766 获取最新代码~
    soli
        23
    soli  
       2013-09-06 22:42:34 +08:00
    就差个

    "Accept-Language: en-US,en;q=0.5",

    isayme
        24
    isayme  
    OP
       2013-09-07 10:28:44 +08:00
    @soli 是的啊。。。 可能v2ex服务端检测http请求头这部分内容的。。
    deyu260
        25
    deyu260  
       2013-11-30 19:51:27 +08:00
    @isayme 收益了 请教下 cookie过期了 岂不是每次都要重新获取auth?
    isayme
        26
    isayme  
    OP
       2013-12-25 20:24:40 +08:00
    @deyu260 我在不同的地方不同的浏览器登陆v2ex,获取到的cookie值都是一样的。。。 具体cookie怎么算的不清楚,可能与密码有关,估计不换密码cookie值不会变。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:51 · PVG 19:51 · LAX 03:51 · JFK 06:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.