Linux下使用crontab命令以及Python脚本实现自动签到
轉載:http://www.cnblogs.com/spxcds/p/5375192.html
關于這一部分, 我首先介紹下如何實現使用Python腳本實現簽到功能其實,linux下有個命令叫做curl,完全可以完成模擬簽到的功能.有這個想法完全是因為實驗室的學長開發了一款App,上邊有個起床簽到,還有排名,為了能拿個首簽...當然,我也只用過一次,并不想為學長開發的東西帶來任何的規則上的擾亂.
言歸正傳
首先,因為是手機上的App, 所以,我們需要抓包看下它具體的URL以及發送的內容是什么,關于這部分內容我就不在贅述了,我實現的功能主要有模擬發布狀態和模擬簽到兩種功能,兩個的URL也是不同的.如何在特定的時間段內簽到呢? 我們可以隨機出一個0-900的數t,然后sleep(t), 比如說我在5.00的時候執行這個腳本,那么我就會在5.00-5.15之內簽到了.
另外, 我如何查看我的腳本是否執行成功了呢?或者說是我的腳本執行結果是什么?所以我打印了一下簽到后返回的requests.text,但是重定向的時候發現有錯誤,一查原來是編碼的問題,他返回的是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?=?"你想說的內容" 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) |
好了,我們已經寫完了腳本,那么我們如何讓他在早上的時候(比如說5點)自動執行呢?
Linux下有一個命令叫做crontab
首先
| 1 | crontab?-e |
編輯你的定時任務,編輯格式如下
| 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 |
這樣寫就可以了,具體的用法可以到網上去查一查
| 1 2 3 4 | #列出所有的任務 crontab?-l #刪除所有的任務 crontab?-r |
只是用來討論技術,希望看這篇博客的人不要對他人的網站或者APP帶來困擾.?
總結
以上是生活随笔為你收集整理的Linux下使用crontab命令以及Python脚本实现自动签到的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python使用os.listdir()
- 下一篇: xshell可以连接上linux,但是x