码迷,mamicode.com
首页 > 编程语言 > 详细

Linux下使用crontab命令以及Python脚本实现自动签到

时间:2016-04-10 21:06:47      阅读:447      评论:0      收藏:0      [点我收藏+]

标签:

  关于这一部分, 我首先介绍下如何实现使用Python脚本实现签到功能其实,linux下有个命令叫做curl,完全可以完成模拟签到的功能,但是为了练习Python,我就用Python来写了.有这个想法完全是因为实验室的学长开发了一款App,上边收个起床签到,还有排名,为了能那个首签...

  言归正传

  首先,因为是手机上的App, 所以,我们需要抓包看下它具体的URL以及发送的内容是什么,关于这部分内容我就不在赘述了,我实现的功能主要有模拟发布状态和模拟签到两种功能,两个的URL也是不同的.为了不让学长发现我是自动签到的, 所以我选择了随机出一个0-900的数t,然后sleep(t), 比如说我在5.00的时候执行这个脚本,那么我就会在5.00-5.15之内签到了,被学长发现的可能性也就小了.

  另外, 我如何查看我的脚本是否执行成功了呢?或者说是我的脚本执行结果是什么?所以我打印了一下签到后返回的requests.text,但是重定向的时候发现有错误,一查原来是编码的问题,他返回的是ASCII编码的,但是其中含有中文字符,所以需要把他编码成utf-8的形式就可以成功显示了.

# 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

  首先

crontab -e

  编辑你的定时任务,编辑格式如下

# min hour day mon week    command
# *   *    *   *   *       python /home/yourdir/yourpf.py >> /home/youdir/log
  0   5    *   *   *       python /home/yourdir/yourpf.py >> /home/youdir/log

  

  这样写就可以了,具体的用法可以到网上去查一查

#列出所有的任务
crontab -l
#删除所有的任务
crontab -r

  

 

Linux下使用crontab命令以及Python脚本实现自动签到

标签:

原文地址:http://www.cnblogs.com/spxcds/p/5375192.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!