博主研发了一个洛谷自动打卡机。请勿滥用。
代码
# codeing:utf8
# codeing:utf8
import requests
import json
import sys
def punch(cookie):
return requests.get('https://www.luogu.com.cn/index/ajax_punch', headers={
"Host": "www.luogu.com.cn",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv: 73.0) Gecko/20100101 Firefox/73.0",
"Accept": "*/*",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Referer": "https://www.luogu.com.cn/",
"Cache-Control": "no-cache",
"TE": "Trailers",
"Cookie": cookie
}).text
if __name__ == "__main__":
print('脚本名为:', sys.argv[0], '\n')
for i in range(1, len(sys.argv)):
kkksc03 = punch(sys.argv[i])
print(u'第', i, u'个打卡的结果:\n', kkksc03)
try:
ioi = json.loads(kkksc03)
if ioi['code'] == 200:
print('code =', ioi['code'], 'message =', ioi['more']['html'])
else:
print('code =', ioi['code'], 'message =', ioi['message'])
except:
print(u'错误:无法解码返回的json信息。')
食用方法
首先通过浏览器的开发者工具搞到你的cookie
,然后运行这段脚本,在后面以字符串的形式添加你的cookie
。下面是一个实例。设脚本文件名称为punch.py
。
没得包的请安装依赖。
pip install requests
python ./punch.py "__client_id=kkk03akioi; UM_distinctid=222333111444-chenzhe-114514-dfhka-88888888; _uid=40003; CNZZDATA22606=cnzz_eid%sdasdasdas" "__client_id=kkk03akioi; UM_distinctid=222333111444-chenzhe-114514-dfhka-88888888; _uid=40003; CNZZDATA22606=cnzz_eid%sdasdasdas"
上面的cookie
仅供娱乐。
输出分析
如果程序运行正常。
- 第一行输出脚本信息。
以下,每行输出一个
cookie
的打卡情况。code
为$200$:打卡成功,后面接运势;code
为$201$:打卡失败,后面接原因;code
为其他值:打卡失败,后面接原因message
,如无法阅读请到utf8
环境下运行。如确实需要帮助请告知博主。
已知Bug
Python2
使用Python2
的同学可能发现输出一些奇特字符,打卡也可能成功。
博主强烈建议大家升级到Python3
。窝不想滋滋Python2
。
同理,安装了两个版本的Python
的同学需要使用Python3
运行脚本。
首次打卡会出锅
感谢来自ytha的报告。
会随机输出错误。但是打卡成功。窝马上修理。
版权声明:本文是原创文章,版权归 星雾月雨 所有。
本文链接:https://www.ariels.xyz/archives/717.html
本站所有下方标记为「允许规范转载」的原创文章均采用 署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。
您可以自由地转载,但请务必注明文章来源且不可用于商业目的。
12 comments
怎么查看自己的Cookie?OωO
在F12
窝要写洛谷日报,怕和洛谷协议冲突,所以在窝发表日报之前拒绝转载。 ::tieba:Y.tb8::
资瓷自此
say something...
有机会研究一下,谢谢,想用Python写个本地洛谷客户端
照着发包即可。
tqltql
所以您测试没 ::QQ:Y.qq1::
Orz
emmm,窝需要各位的测试结果啊。