V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
fy
V2EX  ›  分享创造

诸位, V2EX 自动签到脚本崩了,你们发现了吗?

  •  2
     
  •   fy ·
    fy0 · 2016-04-23 10:35:16 +08:00 · 7907 次点击
    这是一个创建于 3165 天前的主题,其中的信息可能已经有所发展或是发生改变。

    直接上代码,自用于 python 3.4 环境测试通过

    自行修改 u:'username', p:'password' 这两个 username password 字符串为自己的帐号密码

    # coding:utf-8
    
    import re
    import requests
    
    session = requests.Session()
    
    # 领取 X 铜币
    # 每日登录奖励已领取
    
    base_headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.71 Safari/537.36 OPR/35.0.2066.23 (Edition beta)', 'Referer': 'http://v2ex.com/signin'}
    
    session.headers = base_headers
    
    resp = session.get('http://v2ex.com/signin')
    u, p = re.findall(r'class="sl" name="([0-9A-Za-z]{64})"', resp.text)
    once_code = re.search(r'value="(\d+)" name="once"', resp.text).group(1)
    
    resp = session.post('http://v2ex.com/signin', {u:'username', p:'password', 'once':once_code, 'next':'/'})
    resp = session.get('http://v2ex.com/mission/daily')
    
    if u'每日登录奖励已领取' in resp.text:
        print('Already got it.')
    else:
        resp = session.get('http://v2ex.com' + re.search(r'/mission/daily/redeem\?once=\d+', resp.text).group())
        print(resp.ok)
    
    
    第 1 条附言  ·  2016-08-28 12:20:40 +08:00
    旧版已崩,更新:
    52 条回复    2016-09-09 22:29:36 +08:00
    xuboying
        1
    xuboying  
       2016-04-23 10:39:12 +08:00
    居然有这样的神器,我每天都点一下,>21 天后就养成习惯了
    Tony1ee
        2
    Tony1ee  
       2016-04-23 10:40:07 +08:00 via Android
    手动签到了几百天的路过
    am241
        3
    am241  
       2016-04-23 10:44:07 +08:00
    刚才签到的时候 f12 看了一下 network
    卧槽那一大堆请求,我还是手动签算了
    freaks
        4
    freaks  
       2016-04-23 10:49:37 +08:00 via Android
    我说怎么最近感觉哪里不对啊!
    taresky
        5
    taresky  
       2016-04-23 10:54:15 +08:00   ❤️ 2
    我手动签到似乎一千多天了。。。漏了大概几次,但是没有断签。
    finab
        6
    finab  
       2016-04-23 11:55:40 +08:00 via iPhone   ❤️ 2
    VmuTargh
        7
    VmuTargh  
       2016-04-23 12:06:35 +08:00
    手动 187 天的路过,比起 LS 各位 dalao 明显 low 多了……
    Reficul
        8
    Reficul  
       2016-04-23 12:07:12 +08:00
    手动有 670 左右了吧,中间断了一次= =
    crab
        9
    crab  
       2016-04-23 12:13:49 +08:00
    手动 已连续登录 778 天
    irainsoft
        10
    irainsoft  
       2016-04-23 12:15:55 +08:00 via Android
    手动签到时发现提示再签一次
    herozzm
        11
    herozzm  
       2016-04-23 12:16:26 +08:00
    你们这些手动签到几百天的 bt
    msg7086
        12
    msg7086  
       2016-04-23 12:18:56 +08:00
    @herozzm 已连续登录 1002 天
    还好不是几百天。
    loading
        13
    loading  
       2016-04-23 12:19:52 +08:00 via Android
    我还以为我这几天重装了 vps 的 crontab 没设置对呢~
    herozzm
        14
    herozzm  
       2016-04-23 12:22:30 +08:00
    @msg7086 超级 bt
    mcone
        15
    mcone  
       2016-04-23 12:26:26 +08:00
    @finab 客户端好像做的不错呀 马克
    vuser
        16
    vuser  
       2016-04-23 13:17:57 +08:00
    2.7 也顺利通过
    Abirdcfly
        17
    Abirdcfly  
       2016-04-23 13:29:45 +08:00
    ltm
        18
    ltm  
       2016-04-23 13:35:20 +08:00 via Android
    JS 脚本,简单有效
    shulen
        19
    shulen  
       2016-04-23 13:36:22 +08:00
    ipeony
        20
    ipeony  
       2016-04-23 13:37:12 +08:00
    手动 300 多天,断签之后无爱了
    jydeng
        21
    jydeng  
       2016-04-23 13:45:53 +08:00
    一直手动签到
    idnicho
        22
    idnicho  
       2016-04-23 14:49:23 +08:00 via iPhone
    @finab 请问下 iOS 客户端登录什么时候能修复下
    chiu
        23
    chiu  
       2016-04-23 15:06:07 +08:00
    一直手动点
    diyisoft
        24
    diyisoft  
       2016-04-23 15:08:14 +08:00
    反正每天都来看,顺便签到一下
    finab
        25
    finab  
       2016-04-23 15:53:49 +08:00 via iPhone
    @idnicho 昨天已经提交审核了,可能需要一周
    bearqq
        26
    bearqq  
       2016-04-23 17:31:08 +08:00 via Android
    我就知道有人要发,收下了
    cheny95
        27
    cheny95  
       2016-04-23 17:50:35 +08:00
    已连续登录 577 天
    won
        28
    won  
       2016-04-23 18:05:32 +08:00
    还是坚持手动签到吧,帮网站增加 UV ,让 V 站的广告更有价值些
    laduary
        29
    laduary  
       2016-04-23 18:11:49 +08:00
    看了一下,我的签到脚本昨天就挂了……
    billwang
        30
    billwang  
       2016-04-23 18:14:23 +08:00
    一直手动签到,主要是看今天给了我多少点。顺手的事而已
    grzhan
        31
    grzhan  
       2016-04-23 21:39:52 +08:00
    前两天想用个签到脚本,然后发现挺久以前收藏的那个不能用了。

    后来试了下直接 wget 或者用 python requests 请求首页会返回 502 ,不知道是不是这个原因,有没有其他人是同样的情况?
    welsmann
        32
    welsmann  
       2016-04-23 23:02:38 +08:00
    已手动签到 1030 天+
    JayFang1993
        33
    JayFang1993  
       2016-04-24 00:04:08 +08:00
    @welsmann 老司机 手动签 550+
    vmebeh
        34
    vmebeh  
       2016-04-24 01:26:56 +08:00
    用 Cookies 的暂时还活着

    这样一改, 1Password 就不能自动填表单了
    kn007
        35
    kn007  
       2016-04-24 01:54:03 +08:00
    早就知道了。。。早就更新了。。。
    djchurch007
        36
    djchurch007  
       2016-04-24 08:57:52 +08:00
    前天晚上打开 V2EX 居然发现金币没有领,于是前天晚上就改好了,其他流程都没变,就是账号密码的 name 变了
    idnicho
        37
    idnicho  
       2016-04-24 10:20:43 +08:00 via iPhone
    @finab 已更 多谢啦
    aivier
        38
    aivier  
       2016-04-24 10:22:11 +08:00 via Android
    @vmebeh 1Password 没影响,那东西好像不是仅仅依靠 name 来填的
    Clarencep
        39
    Clarencep  
       2016-04-24 10:47:03 +08:00
    居然有这么多版本的自动签到脚本...
    Clarencep
        40
    Clarencep  
       2016-04-24 11:18:45 +08:00
    @fy 话说 LZ 居然是用正则匹配的,要是 V2EX 随便加几个空格估计就挂了。顺便安利个偶现在用的: https://github.com/Clarence-pan/v2ex-auto
    vmebeh
        41
    vmebeh  
       2016-04-24 11:24:30 +08:00
    @aivier 昨天在隐身模式测试的,打开登录页后才开的扩展,刚才发现新开标签就可以了; 1Password 还记录了 type 字段。
    fy
        42
    fy  
    OP
       2016-04-24 13:47:03 +08:00
    @Clarencep 脚本总有挂的时候,真挂的时候就算是 lxml 或者 bs 都救不回来,还少一个二进制依赖( lxml ),而且还不是生产环境,何必折腾。
    taxiangdeni
        43
    taxiangdeni  
       2016-04-24 14:21:41 +08:00
    @shulen V2EX 的领取铜币的 url 是动态的

    <input type="button" class="super normal button" value="领取 X 铜币" onclick="location.href = '/mission/daily/redeem?once=15881';">

    once 的是值是变化的,在你的 config.js 文档里应该以正则表达式进行获取 once 的值吧
    EchoWhale
        44
    EchoWhale  
       2016-04-25 09:07:05 +08:00 via Android
    login 的表单,之前用户名字段是 u ,密码字段是 p ,现在改为一串长长的随机字符了
    zenxds
        45
    zenxds  
       2016-04-25 10:04:24 +08:00
    node cheerio 分分钟搞定,$('input[name="once"]').attr('value'), $('input.sl:text').attr('name'), $('input.sl:password').attr('name')
    shulen
        46
    shulen  
       2016-04-25 20:29:35 +08:00
    @taxiangdeni config 里面是随便设的一个值,后面每次访问页面都需要重新获取 once
    hxndg
        47
    hxndg  
       2016-04-28 15:20:57 +08:00
    表示变成随机字符串之后提取以下就可以了,。。。好像 reference 也需要不能为空。。。
    G0D
        48
    G0D  
       2016-08-25 08:52:25 +08:00
    又挂了
    xuboying
        49
    xuboying  
       2016-08-25 23:36:32 +08:00
    崩了,求更新,自己改了一下还是不对
    fy
        50
    fy  
    OP
       2016-08-28 00:46:15 +08:00   ❤️ 1
    G0D
        51
    G0D  
       2016-08-28 08:09:37 +08:00
    @fy 谢谢
    xuboying
        52
    xuboying  
       2016-09-09 22:29:36 +08:00 via Android
    @fy Thanks
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2651 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:53 · PVG 14:53 · LAX 22:53 · JFK 01:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.