Linux下使用crontab命令以及Python脚本实现自动签到
轉(zhuǎn)載:http://www.cnblogs.com/spxcds/p/5375192.html
關(guān)于這一部分, 我首先介紹下如何實(shí)現(xiàn)使用Python腳本實(shí)現(xiàn)簽到功能其實(shí),linux下有個(gè)命令叫做curl,完全可以完成模擬簽到的功能.有這個(gè)想法完全是因?yàn)閷?shí)驗(yàn)室的學(xué)長(zhǎng)開發(fā)了一款A(yù)pp,上邊有個(gè)起床簽到,還有排名,為了能拿個(gè)首簽...當(dāng)然,我也只用過(guò)一次,并不想為學(xué)長(zhǎng)開發(fā)的東西帶來(lái)任何的規(guī)則上的擾亂.
言歸正傳
首先,因?yàn)槭鞘謾C(jī)上的App, 所以,我們需要抓包看下它具體的URL以及發(fā)送的內(nèi)容是什么,關(guān)于這部分內(nèi)容我就不在贅述了,我實(shí)現(xiàn)的功能主要有模擬發(fā)布狀態(tài)和模擬簽到兩種功能,兩個(gè)的URL也是不同的.如何在特定的時(shí)間段內(nèi)簽到呢? 我們可以隨機(jī)出一個(gè)0-900的數(shù)t,然后sleep(t), 比如說(shuō)我在5.00的時(shí)候執(zhí)行這個(gè)腳本,那么我就會(huì)在5.00-5.15之內(nèi)簽到了.
另外, 我如何查看我的腳本是否執(zhí)行成功了呢?或者說(shuō)是我的腳本執(zhí)行結(jié)果是什么?所以我打印了一下簽到后返回的requests.text,但是重定向的時(shí)候發(fā)現(xiàn)有錯(cuò)誤,一查原來(lái)是編碼的問(wèn)題,他返回的是ASCII編碼的,但是其中含有中文字符,所以需要把他編碼成utf-8的形式就可以成功顯示了.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # coding=utf-8 import?requests import?random import?time topic_url?=?"http://XXXX.XXXX.com/XXXX/XXXX/XXXX/XXXX" sign_url="http://XXX.XXXXX.com/xxx/xxxx/xxxx/" content?=?"你想說(shuō)的內(nèi)容" headers?=?{ ????"AUTHORIZATION":?"TOKEN xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", ????"Host":?"XXX.XXXXX.com", ????"Connection":?"Keep-Alive", ????"Accept-Encoding":?"gzip", ????"Content-Type":?"application/x-www-form-urlencoded; charset=UTF-8", ????"User-Agent":?"okhttp/3.2.0" } def?topic(): ????requests.post(topic_url,data={"content": content}, ??????????????????headers=headers) def?sign(): ????r?=?requests.post(sign_url, data={"rise_rank":"1"}, ??????????????????headers=headers) ????print?r.text.encode('UTF-8') t?=?random.randrange(0,?900) print?t time.sleep(t) for?i?in?range(0,?20): ????sign() ????time.sleep(1) |
好了,我們已經(jīng)寫完了腳本,那么我們?nèi)绾巫屗谠缟系臅r(shí)候(比如說(shuō)5點(diǎn))自動(dòng)執(zhí)行呢?
Linux下有一個(gè)命令叫做crontab
首先
| 1 | crontab?-e |
編輯你的定時(shí)任務(wù),編輯格式如下
| 1 2 3 | # min hour day mon week??? command # *?? *??? *?? *?? *?????? python /home/yourdir/yourpf.py >> /home/youdir/log ??0?? 5??? *?? *?? *?????? python?/home/yourdir/yourpf.py >>?/home/youdir/log |
這樣寫就可以了,具體的用法可以到網(wǎng)上去查一查
| 1 2 3 4 | #列出所有的任務(wù) crontab?-l #刪除所有的任務(wù) crontab?-r |
只是用來(lái)討論技術(shù),希望看這篇博客的人不要對(duì)他人的網(wǎng)站或者APP帶來(lái)困擾.?
總結(jié)
以上是生活随笔為你收集整理的Linux下使用crontab命令以及Python脚本实现自动签到的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python使用os.listdir()
- 下一篇: xshell可以连接上linux,但是x