Hostloc论坛自动签到Python脚本

说明

  • 支持金钱显示
  • 支持多用户
  • 支持无服务器函数
  • 更新时间间隔

 

开始

安装 Python3

#Centos
yum install python3

#Ubuntu
apt-get install python3-pip

 

新建一个名为hostloc.py的文件,然后在文件中写入以下代码
将其中的账号A替换成自己的,密码A也替换成自己的即可,多账号自行添加,注意前面的数字编号;
注意:不要用电脑的TXT记事本编辑,避免格式出错,直接在宝塔面板编辑即可;

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Author:  MoeClub.org

import re
import sys
import time
from urllib import request, parse
from http import cookiejar


account_dict = {
    '0': {'username': '账号A', 'password': '密码A'},
    '1': {'username': '账户B', 'password': '密码B'},
}


def Login(URL, UserData):
    _cookies = ''
    _cookie = cookiejar.CookieJar()
    _handler = request.HTTPCookieProcessor(_cookie)
    _req = request.Request(URL, data=parse.urlencode(UserData).encode('utf-8'))
    request.build_opener(_handler).open(_req)
    for cookie in _cookie:
        _cookies += cookie.name + '=' + cookie.value + ';'
    return _cookies


def GetPage(URL, Header_Cookies):
    _Header = {'Cookie': str(Header_Cookies)}
    _req = request.Request(URL, headers=_Header)
    return request.urlopen(_req).read().decode('utf-8')


def GetCredit(user_data, proto='https'):
    username = user_data['username']
    Login_URL = proto + '://www.hostloc.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1'
    My_Credit = proto + '://www.hostloc.com/home.php?mod=spacecp&ac=credit&showcredit=1&inajax=1'
    My_Home = proto + '://www.hostloc.com/home.php?mod=spacecp&inajax=1'
    My_Cookies = Login(Login_URL, user_data)

    if '<td>' + str(username) + '</td>' not in GetPage(My_Home, My_Cookies):
        print('[%s] Login Fail!' % username)
    else:
        try:
            CreditNum0 = str(re.findall('[0-9]+', GetPage(My_Credit, My_Cookies))[-1])
        except:
            CreditNum0 = 'Null'
        for x in range(25297, 25309):
            GetPage(proto + '://www.hostloc.com/space-uid-{}.html'.format(x), My_Cookies)
            time.sleep(4)
        try:
            if CreditNum0 == 'Null':
                raise Exception
            CreditNum1 = str(re.findall('[0-9]+', GetPage(My_Credit, My_Cookies))[-1])
            if CreditNum0 == CreditNum1:
                CreditDetails = str(CreditNum1)
            else:
                CreditDetails = str(CreditNum0) + '->' + str(CreditNum1)
        except:
            CreditDetails = 'Null'
        print('[%s] Login Success! (Credit: %s)' % (username, CreditDetails))


if __name__ == '__main__':
    if len(sys.argv) > 1:
        n = 0
        account_dict = {}
        account_list = [sys.argv[x] for x in range(1, len(sys.argv))]
        for account in account_list:
            if ":" not in account:
                continue
            account_dict[str(n)] = {}
            account_dict[str(n)]['username'] = str(str(account).split(":", 1)[0])
            account_dict[str(n)]['password'] = str(str(account).split(":", 1)[-1])
            n += 1
    for i in range(0, len(account_dict)):
        try:
            GetCredit(account_dict[str(i)])
            time.sleep(4)
        except:
            continue

创建自动执行签到任务
在宝塔面板自动任务创建一个Shell脚本自动计划任务
脚本内容:

# 进入hostloc.py文件所在目录的绝对路径
cd /home/Loc
# 执行签到任务
python3 ./hostloc.py

 

示例:

Hostloc论坛自动签到Python脚本

创建完成后点击执行,等待执行完成后查看日志,如果没有问题就可以了
提示:尽量将自动签到时间设定到半夜,白天论坛的CC防御规则严格,会使签到失败,设置在半夜就没问题了;

原创文章,作者:陌涛,如若转载,请注明出处:https://imotao.com/3601.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
陌涛陌涛
京东盲盒活动自动做任务抽奖JS代码
上一篇 2020年8月14日 下午1:14
个人取消与腾讯云代理商绑定的详细教程
下一篇 2020年8月15日 下午3:17

相关推荐

  • Umi-OCR–开源免费离线OCR文字识别软件

    OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/粘贴/批量导入图片,段落排版/排除水印,扫描/生成二维码。内置多国语言库。目前…

    2023年12月16日
    2.0K00
  • 国内外公共DNS解析服务汇总

    给大家推荐一些优秀的 DNS 解析服务,方便在不同的场景中使用,解决无法上网的问题和起到加速 / 防劫持的作用 。 国内 同一个 DNS 服务器在不同国家不同地区的表现并不完全相同…

    2020年5月27日
    99200
  • 腾讯云星星海SA3 重磅发布

    申请地址:https://cloud.tencent.com/act/pro/sa3

    2021年3月16日
    1.0K00
  • 重复文件查找AllDup 4.4.47

    软件介绍 AllDup是一款免费软件,它可以检测和移除你计算机上重复了的文件。快速查询算法让它能够快速搜索出重复了的所有文件,包括文字、图片、音乐或者是视频。搜索并删除计算机上重复…

    2021年5月7日
    63600
  • Ubuntu安装vim

    因为某种不可描述并且奇怪的知识增加了的原因,用上了Ubuntu的vi升级版vim 1.linux 默认自带 vi, 一般使用升级版 vim 2.第一次使用需要安装vim 如果没有安…

    2020年2月25日
    67300
  • Steam免费领取 《治疗公主2:麻烦大了》游戏

    Steam免费领取 《治疗公主2:麻烦大了》游戏 游戏:Princess Remedy 2: In A Heap of Trouble 又译为 《治疗公主2:麻烦大了》 游戏为一款…

    2019年10月12日
    1.2K00
  • 育碧喜+1《特技摩托:崛起》

    12月18日补充最新一期 育碧商城为欢庆2020年的结束,每日为玩家送上礼物,在12.14日~12.18日期间,每天晚上9点开始免费送游戏,今天的礼物是《特技摩托:崛起》完整数字 …

    2020年12月18日
    66300
  • TB淘宝店铺被恶意举报封店强制恢复方法分享

    试问哪个店铺没被恶意举报封过?此方法仅供学习参考,淘宝本身就不是一个绝对公平的平台,哪个平台也做不到绝对公平 TB淘宝店铺被恶意举报封店强制恢复方法分享: 需要APP:淘宝主播 需…

    2020年4月14日
    66300
  • 新一期 阿里云盘免费领取600G容量

    新一期 阿里云盘免费领取600G容量 打开阿里云盘APP,点击左侧 然后点【福利社-兑换福利码】 输入【升职加薪】【人生巅峰】【事业有成】 即可获得3个200G容量,有效期一年!有…

    2021年4月10日
    91600
  • phpstudy-linux面板(小皮面板)1.0 评测

    前言 phpstudy作为一个老牌且免费的集成环境工具,陌涛也是从刚学建站就一直在使用的,最近的后门事件真的闹的沸沸扬扬,经360娱乐杀毒工具扫描之后,发现不长用的php5.2和p…

    2019年10月9日
    1.4K00

发表回复

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

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。