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

V2EX 每日签到更新,渣技术 0 创新

  •  
  •   fy ·
    fy0 · 2017-10-02 20:21:10 +08:00 · 7469 次点击
    这是一个创建于 2609 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近 V2EX 启用了验证码,所以以前的签到脚本又双叒叕不能用了。

    想了想以前那样脚本里直接写明文账号密码也确实挺危险的,改用 cookie 吧。

    没啥技术含量,直接贴代码:

    https://gist.github.com/fy0/f13b0266f895772915b26300e6c53f61

    使用:

    随便找个 V2EX 的页面打开调试器,复制 headers 里这一坨

    前后加个 ' ',替换掉 <你的 cookies> 这句,完事。

    理论上只要不登出就没啥问题,先观察着吧,毕竟也算刚需,出了问题我再修复。

    最后还是丢个 github 链接,看什么项目顺眼点两下 star,谢谢

    https://github.com/fy0

    27 条回复    2019-06-21 14:22:29 +08:00
    Pete
        1
    Pete  
       2017-10-02 22:29:20 +08:00 via Android   ❤️ 1
    希望 qiandao.today 更新一下
    ob
        2
    ob  
       2017-10-02 23:29:07 +08:00 via Android
    666
    binux
        3
    binux  
       2017-10-02 23:44:54 +08:00   ❤️ 1
    @Pete #1 更新了,新建了个一个 cookie 版
    Showfom
        4
    Showfom  
       2017-10-02 23:48:27 +08:00 via iPhone
    cookies 应该有时效 不确定是多久没大概好久的样子
    Pete
        5
    Pete  
       2017-10-02 23:48:40 +08:00 via Android
    @binux 谢谢
    15015613
        6
    15015613  
       2017-10-03 08:19:14 +08:00 via Android
    @Showfom
    这 V2EX cookies 时效是两周。
    当打开 V2EX 发现登录状态掉了时,更新一下 cookies 就可以了。

    对于这个问题,我的做法是当签到失败时发封邮件到我邮箱里,告诉我 cookies 失效了,快点更新 cookies。
    msg7086
        7
    msg7086  
       2017-10-03 09:08:32 +08:00
    这个防起来还是很简单的,限制一下单个 IP 的总签到数就行了……
    Pete
        8
    Pete  
       2017-10-03 09:47:15 +08:00 via Android
    @binux 试了一下 我签到显示成功 但是实际没有 不知道是不是我 cookies 填错
    sunwei0325
        9
    sunwei0325  
       2017-10-03 10:30:40 +08:00
    有没有老铁做个 alfred 版的~(@^_^@)~
    tigerstudent
        10
    tigerstudent  
       2017-10-03 11:00:42 +08:00 via Android
    @msg7086 感觉 Livid 大大不会为这种无关紧要的东西做限制。
    fy
        11
    fy  
    OP
       2017-10-03 13:50:27 +08:00
    @Pete 查看了一下,最底下一个 url 写成了 http 而非 https 从而出现问题。现在已经改掉了。已经弄好的话自行加个 s 即可。

    印象中 v 站 cookies 时间还是很长的
    Pete
        12
    Pete  
       2017-10-03 14:11:34 +08:00 via Android
    @fy 我试了一下还没解决 自行加个 s 指的是……?
    fy
        13
    fy  
    OP
       2017-10-03 14:17:31 +08:00 via Android
    @Pete 倒数第二句 http + s
    Pete
        14
    Pete  
       2017-10-03 15:07:21 +08:00 via Android
    @fy 改了 获取的 cookies 从 http 的网址变成了 https 但是显示成功实际仍未签到…
    fy
        15
    fy  
    OP
       2017-10-03 19:38:58 +08:00
    @Pete 跟获取 cookies 的网址无关,我是说倒数第二句:

    resp = session.get('http://www.v2ex.com' + re.search(r'/mission/daily/redeem\?once=\d+', resp.text).group())

    resp = session.get('httpS...

    这样改,或者你直接弄一份新的,gist 里代码已经改过了
    Pete
        16
    Pete  
       2017-10-03 20:34:21 +08:00 via Android
    @fy OK 我晚点再试试
    binux
        17
    binux  
       2017-10-03 20:38:10 +08:00
    @Pete 我改好了
    Pete
        18
    Pete  
       2017-10-03 20:59:57 +08:00 via Android
    @binux 显示签到成功 日志里看到 10 月 2 号的收益 两次都一样 今天仍然没有签到
    binux
        19
    binux  
       2017-10-03 21:03:50 +08:00
    @Pete #18 我没有没签到的账号,明天再看看吧
    ZiLong
        20
    ZiLong  
       2017-10-05 22:54:26 +08:00
    @15015613 也就是说没个两周还是要手动一下了
    15015613
        21
    15015613  
       2017-10-06 11:17:15 +08:00 via Android
    @ZiLong
    是的。
    不过你可以写一个脚本自动更新。
    Linux 下 Firefox 的 cookies 数据路径,大概如下面所示
    ~/.mozilla/firefox/xxxxxxx.default/cookies.sqlite

    你可以写个脚本自动查询 v2ex.com 域名下的 cookies,将 cookies 生成 json 文件,自动将 json 文件传到服务器上。

    查询 cookies 的 SQL 语句,大概类似于这样。
    select * from moz_cookies where baseDomain = 'v2ex.com';
    inmyfree
        22
    inmyfree  
       2017-10-08 11:29:20 +08:00
    可以签到,但是还是有瑕丝,cookie 错误的时候会报 AttributeError: 'NoneType' object has no attribute 'group',[:dogge]
    knight322
        23
    knight322  
       2017-10-09 08:52:47 +08:00
    楼主,我很给力的,每个项目都点了两下 star。。。。
    Pete
        24
    Pete  
       2017-11-04 17:51:59 +08:00 via Android
    @binux 好像昨天还是前天又出现了新的问题 更新 cookies 无效 提示
    failed at 2/5 request, miss success assert: {u're': u'200', u'from': u'status'}, status=302, https://www.v2ex.com/mission/daily
    fy
        25
    fy  
    OP
       2017-11-04 20:05:38 +08:00
    @Pete #24 前天可能 V2EX 更新了,我的 cookies 也掉了,但重弄了一下就好了
    Pete
        26
    Pete  
       2017-11-04 20:45:20 +08:00 via Android
    @fy ok 原来是我 cookies 失效了 退出登录了都没发现
    cybermay
        27
    cybermay  
       2019-06-21 14:22:29 +08:00
    目前还是不能用啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2657 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:03 · PVG 13:03 · LAX 21:03 · JFK 00:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.