Hostloc论坛Python自动刷分脚本

2020年07月9日

参考文章:https://blog.qwqdanchun.cn/archives/868
关键词:hostloc自动签到脚本 hostloc自动刷分脚本 Discuz自动签到脚本 Centos6安装python3.6.0 Centos6安装pip Centos6安装requests

hostloc是基于Discuz! X3.4驱动的论坛,论坛采用了严格的积分级别制度,就目前来说,hostloc已经取消了积分交易、积分转赠、禁止悬赏等,但是做为低等级的用户,要通过发帖和回复才能获取积分,有时候自己并不会时常关注浏览论坛的时候可不可以也增长积分呢?答案是可以的,可以通过脚本访问其他用户空间来获取20积分/天。

这个脚本就是用pthon脚本定时访问论坛用户空间来获得积份,我将方法修改为放在服务器上用crond定时来执行,实现方法也很简单。

一、修改脚本代码 将以下脚本代码以UTF-8格式保存为.py文件,例如:hostloc.py 有多个账号可以保存多个文件。 修改 username = os.environ.get(‘王守义’) 中的王守义为你自己的用户名, 修改 password = os.environ.get(‘shishanxiang100’) 中的 shishanxiang100 为你账号的密码。

#!/usr/bin/python
# -*- coding:utf-8 -*-
import os
import requests
import time
import random
import re
# 随机生成用户空间链接
def randomly_gen_uspace_url():
    url_list = []
    # 访问小黑屋用户空间不会获得积分、生成的随机数可能会重复,这里多生成两个链接用作冗余
    for i in range(12):
        uid = random.randint(10000, 35000)
        url = "https://www.hostloc.com/space-uid-{}.html".format(str(uid))
        url_list.append(url)
    return url_list
# 登录帐户
def login(username, password):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"
    }
    login_url = "https://www.hostloc.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1"
    login_data = {
        "fastloginfield": "username",
        "username": username,
        "password": password,
    }
    s = requests.Session()
    s.post(url=login_url, data=login_data, headers=headers)
    return s
# 通过抓取用户设置页面的标题检查是否登录成功
def check_login_status(s, number_c):
    test_url = "https://www.hostloc.com/home.php?mod=spacecp"
    res = s.get(test_url)
    res.encoding = "utf-8"
    test_title = re.findall("<title>.*?</title>", res.text)
    if test_title[0] != "<title>个人资料 -  全球主机交流论坛 -  Powered by Discuz!</title>":
        print("第" + str(number_c) + "个帐户登录失败!")
        return False
    else:
        print("第" + str(number_c) + "个帐户登录成功!")
        return True
# 依次访问随机生成的用户空间链接获取积分
def get_points(s, number_c):
    if check_login_status(s, number_c):
        url_list = randomly_gen_uspace_url()
        # 使用for和try/except实现当前链接访问出错时不中断程序继续访问下一个链接
        for url in url_list:
            try:
                s.get(url)
                print("用户空间链接:" + url + " 访问成功")
                time.sleep(4)  # 每访问一个链接后休眠4秒,以避免触发论坛的防cc机制
            except Exception as e:
                print("链接访问异常:" + str(e))
            continue
    else:
        print("请检查你的帐户是否正确!")
def main_handler(event,context):
    username = os.environ.get('王守义')
    password = os.environ.get('shishanxiang100')
    # 分割用户名和密码为列表
    user_list = username.split(",")
    passwd_list = password.split(",")
    if len(user_list) != len(passwd_list):
        print("用户名与密码个数不匹配,请检查环境变量设置是否错漏!")
    else:
        print("共检测到" + str(len(user_list)) + "个帐户,开始获取积分")
        print("**************************************************")
        # 使用for和try/except实现当前用户获取积分出错时不中断程序继续尝试下一个用户
        for i in range(len(user_list)):
            try:
                s = login(user_list[i], passwd_list[i])
                get_points(s, i + 1)
                print("**************************************************")
            except Exception as e:
                print("获取积分异常:" + str(e))
            continue
            print("程序执行完毕,获取积分结束")
if __name__ == "__main__":
    main_handler("", "")

 

二、修改Python环境 因为我的服务器是CenTos6系统,默认安装的是Python2.6.6,所以我们需要升级python并安装pip,如果你的服务器版本或python版本和我的一样,按照下边的流程来操作就可以了,否则可以参考步骤来进行操作。

yum install readline-devel openssl-devel openssl -y
#安装需要的组件包
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
#下载python3.6安装包
tar -xzvf Python-3.6.0.tgz
#解压缩安装包
cd Python-3.6.0
#切换目录
./configure --prefix=/usr/local/python36
make &amp;&amp; make install
#编译安装python3.6
mv /usr/bin/python /usr/bin/python-2.6.6
ln -s /usr/local/python36/bin/python3.6 /usr/bin/python
#设置python3.6
 因为yum是依赖python的,所以这里我们修改了默认的python,就要要修改yum,让其运行指向旧的版本
vi /usr/bin/yum  
将第一行中的“#!/usr/bin/python”
修改为“#!/usr/bin/python-2.6.6”,保存即可
#设置yum
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
#安装pip
ln -s /usr/local/python36/bin/pip /usr/bin/pip
pip install requests
#安装requests等模块
vi /etc/crontab
0 1 * * * /usr/bin/python /home/hostloc/hostloc.py
service crond restart
#编辑crond定时,添加一条每天1点执行的计划,脚本路径可以根据自己的修改

 


sicnature ---------------------------------------------------------------------
I P 地 址: 18.97.9.175
区 域 位 置: 美国马萨诸塞
系 统 信 息: 美国
Original content, please indicate the source:
同福客栈论坛 | 蟒蛇科普海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://myzhenai.com.cn/post/3470.html

1 评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注