最近 V2EX 启用了验证码,所以以前的签到脚本又双叒叕不能用了。
想了想以前那样脚本里直接写明文账号密码也确实挺危险的,改用 cookie 吧。
没啥技术含量,直接贴代码:
https://gist.github.com/fy0/f13b0266f895772915b26300e6c53f61
使用:
随便找个 V2EX 的页面打开调试器,复制 headers 里这一坨
前后加个 ' ',替换掉 <你的 cookies> 这句,完事。
理论上只要不登出就没啥问题,先观察着吧,毕竟也算刚需,出了问题我再修复。
最后还是丢个 github 链接,看什么项目顺眼点两下 star,谢谢
1
Pete 2017-10-02 22:29:20 +08:00 via Android 1
希望 qiandao.today 更新一下
|
2
ob 2017-10-02 23:29:07 +08:00 via Android
666
|
4
Showfom 2017-10-02 23:48:27 +08:00 via iPhone
cookies 应该有时效 不确定是多久没大概好久的样子
|
6
15015613 2017-10-03 08:19:14 +08:00 via Android
@Showfom
这 V2EX cookies 时效是两周。 当打开 V2EX 发现登录状态掉了时,更新一下 cookies 就可以了。 对于这个问题,我的做法是当签到失败时发封邮件到我邮箱里,告诉我 cookies 失效了,快点更新 cookies。 |
7
msg7086 2017-10-03 09:08:32 +08:00
这个防起来还是很简单的,限制一下单个 IP 的总签到数就行了……
|
9
sunwei0325 2017-10-03 10:30:40 +08:00
有没有老铁做个 alfred 版的~(@^_^@)~
|
10
tigerstudent 2017-10-03 11:00:42 +08:00 via Android
@msg7086 感觉 Livid 大大不会为这种无关紧要的东西做限制。
|
11
fy OP |
15
fy OP @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 里代码已经改过了 |
21
15015613 2017-10-06 11:17:15 +08:00 via Android
|
22
inmyfree 2017-10-08 11:29:20 +08:00
可以签到,但是还是有瑕丝,cookie 错误的时候会报 AttributeError: 'NoneType' object has no attribute 'group',[:dogge]
|
23
knight322 2017-10-09 08:52:47 +08:00
楼主,我很给力的,每个项目都点了两下 star。。。。
|
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 |
27
cybermay 2019-06-21 14:22:29 +08:00
目前还是不能用啊
|