中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么實現自動登陸Discuz論壇打卡簽到

發布時間:2021-11-25 13:41:19 來源:億速云 閱讀:908 作者:iii 欄目:大數據

本篇內容主要講解“python怎么實現自動登陸Discuz論壇打卡簽到”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python怎么實現自動登陸Discuz論壇打卡簽到”吧!

# -*- coding: utf-8 -*-
import requests
import hashlib
import re

username = '' ###賬號###
password =  ''###密碼###
UA = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) \
            Chrome/27.0.1453.116 Safari/537.36"
headers = {
            "User-Agent": UA,
            "Host": "bbs.hshy.net"
            }

class hshy(object):
    def __init__(self,
                 username,
                 password,
                 number = None,
                 login_url = 'http://bbs.hshy.net/member.php',
                 checkin_url = 'http://bbs.hshy.net/plugin.php'):
        self.username = username.decode('UTF-8').encode('GBK')
        self.password = hashlib.md5(password).hexdigest()
        self.number = number
        self.login_url = login_url
        self.checkin_url = checkin_url
        self.hshy_session = requests.Session()

    def try_login(self):
        rqs = self.hshy_session.get(self.login_url,params = {"referer":'',
                                        "mod":	"logging",
                                        "action":"login"},headers = headers).text
        loginhash = re.search(r'<div id="main_messaqge_(.+?)">',rqs).group(1).encode('ascii')
        formhash = re.search(r'<input type="hidden" name="formhash" value="(.+?)" />',rqs).group(1).encode('ascii')
        post_data = {'answer':'',
                        'formhash':formhash,
                        'loginfield':'username',
                        'password':self.password,
                        'questionid':0,
                        'referer':'http://bbs.hshy.net/./',
                        'username':self.username}
        postrqs = self.hshy_session.post(self.login_url,params = {'mod':'logging',
                                                'action':'login',
                                                'loginsubmit':'yes',
                                                'loginhash':loginhash,
                                                'inajax':1},data = post_data,headers = headers)
        if re.search(u'現在將轉入登錄前頁面',postrqs.text):
            return 'login successful'
        else:
            self.notify()
            exit()

    #獲取打卡post的formhash參數
    def checkinformhash(self):
        checkinformhash = self.hshy_session.get(self.checkin_url,params = {'id':	"dsu_amupper:ppering",
                                                    "infloat":	"yes",
                                                    "handlekey":"pper",
                                                    "referer":	"http://bbs.hshy.net/",
                                                    "inajax":	1,
                                                    "ajaxtarget":	"fwin_content_pper"},headers = headers).text
        return re.search(r'pper&ppersubmit=true&formhash=(.+?)\'',checkinformhash).group(1).encode('ascii')

    #失敗發送短信提醒
    def notify(self):
        """
        使用nexmo發送提醒短信,如若使用需注冊nexmo服務,將得到key和secret以調用其API~~
        """
        if self.number:
            key = ''  ###你的Key
            secret = ''  ###你的Secret
            data = {'api_key': key,
                'api_secret': secret,
                'from': 'anywhere',
                'to': self.number,
                'type': 'unicode',
                'text': u'登陸或領取失敗,請手動領取'
                    }
            rps = requests.post('https://rest.nexmo.com/sms/json',data = data)
            return rps.text
        else:
            pass

    def checkin(self):
        self.try_login()
        params = {  'id':'dsu_amupper:pper',
                    'ppersubmit':'true',
                    'formhash':self.checkinformhash(),
                    'infloat':'yes',
                    'handlekey'	:'dsu_amupper',
                    'referer':	'http://bbs.hshy.net/',
                    'inajax':1,
                    'ajaxtarget':	'fwin_content_dsu_amupper'}
        checkin = self.hshy_session.get(self.checkin_url,params = params ,headers = headers)
        if re.search(u'恭喜',checkin.text):
            print u'checkin successful'
        else:
            print u'checkin failed'
            self.notify()

if __name__ == '__main__':
    hshy(username,password).checkin()

到此,相信大家對“python怎么實現自動登陸Discuz論壇打卡簽到”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘肃省| 灵宝市| 新化县| 潍坊市| 图片| 定西市| 平谷区| 溧水县| 桓台县| 洛阳市| 晋城| 高雄市| 台江县| 昭觉县| 衡山县| 镇宁| 龙州县| 泗水县| 民乐县| 锦屏县| 通化市| 双桥区| 宜兰县| 宁海县| 陇西县| 新源县| 嘉兴市| 翁源县| 马关县| 台南县| 财经| 呼和浩特市| 曲阜市| 白沙| 石泉县| 昌吉市| 温宿县| 安宁市| 祥云县| 长寿区| 南京市|