YiiChina网站每天自动签到脚本(Python)

刚好最近工作需要使用 yii 这个框架,那必不可少的会经常逛 YII 中文网 这个网站,也就注册了会员,然后就有每日签到这个东西啦。本着能不动手就尽量不动手的原则。使用了不是很熟练的 Python 语言来写这个脚本。

其实,也很简单,就一个登陆操作和一个签到操作。废话不多说,代码如下:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import requests

from bs4 import BeautifulSoup

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
}

# 构造签到的header头
headers2 = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36",
'X-Requested-With': "XMLHttpRequest"
}

logUrl = "https://www.yiichina.com/login"
signUrl = "https://www.yiichina.com/registration"
r_session = requests.Session()

def sign():
# 登陆部分
page = r_session.get(logUrl)

soup = BeautifulSoup(page.text, ("html.parser"))

_csrf = soup.find('input', {'name': '_csrf'}).attrs['value']

data = {
"_csrf": _csrf,
"LoginForm[username]" : "********@qq.com", # 换成自己的帐号
"LoginForm[password]" : "*******", # 换成自己的密码
"LoginForm[rememberMe]": 0,
"LoginForm[rememberMe]": 1,
"login-button": ""
}

r_session.post(logUrl, data=data, headers=headers)
# print(r_session.get('https://www.yiichina.com/user').text)

# 签到部分
page2 = r_session.get(signUrl)

soupSign = BeautifulSoup(page2.text, ("html.parser"))

_csrf2 = soupSign.find('meta', {"name": "csrf-token"}).attrs['content']

signData = {
"_csrf" : _csrf2
}

r_session.post(signUrl, data=signData, headers=headers2)


if __name__ == "__main__":
sign()

都说是自动,那肯定就不止这个脚本的。

这里使用 Linux 的定时任务,不清楚的先直接 google 一下

使用 crontab -e 进入编辑模式,把下面的命令添加到里面去

1
2
# 每天早上九点自动签到 yii
0 9 * * * /usr/bin/python3.6 ~/yii_sign.py > /dev/null 2>&1 &

要使用自己相对应的路径

您的支持将鼓励我继续创作!