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():
     =  requests.post(sign_url, data = { "rise_rank" : "1" },
                   headers = headers)
     print  r.text.encode( 'UTF-8' )
 
=  random.randrange( 0 900 )
print  t
time.sleep(t)
 
for  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带来困扰. 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值