亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

瀏覽:85日期:2022-07-18 15:24:32

T00ls 每日簽到是可以獲取 TuBi 的,由于常常忘記簽到,導(dǎo)致?lián)p失了很多 TuBi 。于是在 T00ls 論壇搜索了一下,發(fā)現(xiàn)有不少大佬都寫了自己的簽到腳本,簽到功能實(shí)現(xiàn)、定時(shí)任務(wù)執(zhí)行以及簽到提醒的方式多種多樣,好羨慕啊。所以這里國(guó)光也嘗試借鑒前輩們的腳本,嘗試整合一個(gè)自己的自動(dòng)簽到腳本,因?yàn)閲?guó)光有自己的服務(wù)器,所以打算使用 Linux 下的 crontab 來定時(shí)執(zhí)行任務(wù),提醒的話使用釘釘和郵件提醒基本上可以滿足我的使用需求了,話不多說,下面開始腳本的編寫吧。

基礎(chǔ)簽到

寫代碼功能得慢慢添加上去,首先得實(shí)現(xiàn)一個(gè)最基礎(chǔ)的登錄并簽到功能,后續(xù)再添加郵件以及釘釘提醒等功能。

因?yàn)槟_本功能比較簡(jiǎn)單,就直接將對(duì)應(yīng)的功能封裝成函數(shù)了。對(duì)應(yīng)的函數(shù)都按照正規(guī)開發(fā)那樣給了詳細(xì)的注釋和說明,話不多說直接看下面的代碼吧:

import jsonimport requestsusername = ’國(guó)光’ # 帳號(hào)password = ’xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’ # 密碼MD5 32位(小寫)question_num = 5 # 安全提問 參考下面question_answer = ’xxx’ # 安全提問答案# 0 = 沒有安全提問# 1 = 母親的名字# 2 = 爺爺?shù)拿? 3 = 父親出生的城市# 4 = 您其中一位老師的名字# 5 = 您個(gè)人計(jì)算機(jī)的型號(hào)# 6 = 您最喜歡的餐館名稱# 7 = 駕駛執(zhí)照的最后四位數(shù)字def t00ls_login(u_name, u_pass, q_num, q_ans): ''' t00ls 登錄函數(shù) :param u_name: 用戶名 :param u_pass: 密碼的 md5 值 32 位小寫 :param q_num: 安全提問類型 :param q_ans: 安全提問答案 :return: 簽到要用的 hash 和 登錄后的 Cookies ''' login_data = { ’action’: ’login’, ’username’: u_name, ’password’: u_pass, ’questionid’: q_num, ’answer’: q_ans } response_login = requests.post(’https://www.t00ls.net/login.json’, data=login_data) response_login_json = json.loads(response_login.text) if response_login_json[’status’] != ’success’: return None else: print(’用戶:’, username, ’登入成功!’) formhash = response_login_json[’formhash’] t00ls_cookies = response_login.cookies return formhash, t00ls_cookiesdef t00ls_sign(t00ls_hash, t00ls_cookies): ''' t00ls 簽到函數(shù) :param t00ls_hash: 簽到要用的 hash :param t00ls_cookies: 登錄后的 Cookies :return: 簽到后的 JSON 數(shù)據(jù) ''' sign_data = { ’formhash’: t00ls_hash, ’signsubmit’: 'true' } response_sign = requests.post(’https://www.t00ls.net/ajax-sign.json’, data=sign_data, cookies=t00ls_cookies) return json.loads(response_sign.text)def main(): response_login = t00ls_login(username, password, question_num, question_answer) if response_login: response_sign = t00ls_sign(response_login[0], response_login[1]) if response_sign[’status’] == ’success’: print(’簽到成功’) elif response_sign[’message’] == ’alreadysign’: print(’今日已簽到’) else: print(’出現(xiàn)玄學(xué)問題了 簽到失敗’) else: print(’登入失敗 請(qǐng)檢查輸入資料是否正確’)if __name__ == ’__main__’: main()

值得一提的是,T00ls 得連續(xù) 2 天簽到才會(huì)有 TuBi 獎(jiǎng)勵(lì)。

查詢域名獎(jiǎng)勵(lì)

T00ls 在線工具里面有域名查詢功能,每天查詢域名的話也會(huì)獲得 1 個(gè) TuBi 的獎(jiǎng)勵(lì),這樣算下來每天可獲得 2 個(gè) TuBi 的獎(jiǎng)勵(lì),1個(gè)月就是 60 TuBi 的獎(jiǎng)勵(lì),1 年下來就是 720 TuBi 的獎(jiǎng)勵(lì)……. 瞬間感覺自己變得很壕了

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

然后去 TuBi 日志里面是可以看到查詢域名的記錄的:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

但是這個(gè)域名查詢有要求的,咨詢了下 T00ls 的 MoR03r 大佬:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

所以我們需要每天查詢一個(gè)論壇里面沒有記錄的域名才可以,所以得多寫一個(gè)流程了。下面直接貼查詢域名的代碼吧:

def t00ls_domain(t00ls_hash, t00ls_cookies): # 使用站長(zhǎng)之家查詢今天注冊(cè)的域名 start_time = time.time() china_url = ’https://whois.chinaz.com/suffix’ search_data = ’ix=.com&suffix=.cn&c_suffix=&time=1&startDay=&endDay=’ req_headers[’Content-Type’] = ’application/x-www-form-urlencoded’ response_domains = requests.post(url=china_url, headers=req_headers, data=search_data, timeout=10) soup = BeautifulSoup(response_domains.text, ’html.parser’) # Bs4 解析器 簡(jiǎn)單規(guī)則過濾一下放入到 domains 的列表中 domains = [] for i in soup.select(’.listOther a’): if ’.’ in i.string and ’*’ not in i.string: domains.append(i.string) domain = random.sample(domains, 1)[0] # 隨機(jī)抽取一個(gè) 幸運(yùn)兒 end_time = time.time() print(f’站長(zhǎng)之家隨機(jī)找域名耗時(shí): {end_time - start_time:.4f}秒’) start_time = time.time() query_url = ’https://www.t00ls.net/domain.html’ query_data = f’domain={domain}&formhash={t00ls_hash}&querydomainsubmit=%E6%9F%A5%E8%AF%A2’ query_status = False # 如果 t00ls 查詢沒有成功的話 就一直查詢 while not query_status: domain = random.sample(domains, 1)[0] # 隨機(jī)抽取一個(gè) 幸運(yùn)兒 query_data = f’domain={domain}&formhash={t00ls_hash}&querydomainsubmit=%E6%9F%A5%E8%AF%A2’ try: response_query = requests.post(url=query_url, headers=req_headers, data=query_data, cookies=t00ls_cookies) except Exception as e: pass if domain in response_query.text: print(’t00ls 查詢域名成功’) response_tb = requests.get(’https://www.t00ls.net/members-tubilog.json’, cookies=t00ls_cookies) if domain in response_tb.text: print(’查詢域名 TuBi + 1’) query_status = True else: print(’糟糕 域名查詢成功 但是 TuBi 沒有增加 可能域名重復(fù)了’) print(’隨機(jī)延時(shí) 5-10 秒,繼續(xù)查詢...’) time.sleep(random.randint(5, 10)) else: print(f’查詢失敗?失敗的域名是: {domain}’) print(’隨機(jī)延時(shí) 5-10 秒,繼續(xù)查詢...’) time.sleep(random.randint(5, 10)) end_time = time.time() print(f’t00ls 域名查詢耗時(shí): {end_time - start_time:.4f}秒’)

域名查詢使用了站長(zhǎng)之家的域名服務(wù),查詢服務(wù)速度還算是可以的,但是 t00ls 查詢域名服務(wù)不是很穩(wěn)定,所以國(guó)光我這里寫了 while 循環(huán)一直查詢,當(dāng)然查詢失敗了是需要延時(shí)的,國(guó)光隨機(jī)延時(shí)了 5-10 秒 用來減輕 t00ls 服務(wù)器的負(fù)擔(dān),大家腳本拿去用的話,建議依然保持這個(gè)延時(shí),做一個(gè)素質(zhì)良好的爬蟲。

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

代碼中基本上考慮到了各種情況,包括域名查詢超時(shí)以及查詢域名以及重復(fù)等問題。

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

查詢域名功能寫完了感覺溜了溜了,一直在查詢,萬一被拉黑名單就尷尬了,下面來研究如何接入釘釘吧。

釘釘接入

酷公司用釘釘,很巧我們公司也用釘釘,那么現(xiàn)在嘗試將腳本接入釘釘提醒服務(wù)。

機(jī)器人只能在群聊中添加,所以在之前你得有一個(gè)自己的一個(gè)用于接收機(jī)器人通知的群。如果沒有群怎么辦?手動(dòng)端可以通過「發(fā)起群聊」-「選人建群」-「面對(duì)面建群」創(chuàng)建一個(gè)自己的群,哪怕群成員只有你 1 個(gè)人也是 OK 的。

在釘釘?shù)摹笝C(jī)器人管理」中我們可以添加一個(gè)自定義機(jī)器人,通過 Webhook 接入也比較方便:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

然后將機(jī)器人添加到之前新建的群中,可以自定義關(guān)鍵字(自定義關(guān)鍵詞后 傳入 webhook 的內(nèi)容必須有關(guān)鍵詞 否則無法傳入信息):

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

接著就會(huì)生成一串 token 地址,復(fù)制出來以備用:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

詳細(xì)的釘釘自定義機(jī)器人文檔可參考: 釘釘開發(fā)文檔

國(guó)光這里就打算用最基礎(chǔ)的 text 文本類型:

{ 'msgtype': 'text', 'text': { 'content': '我就是我, 是不一樣的煙火' }, 'at': { 'atMobiles': [ '177******30', ], 'isAtAll': false }}

當(dāng)然也可以不需要用 @ 功能,下面是國(guó)光寫的最基礎(chǔ)的 Demo:

import jsonimport requestswebhook = ’https://oapi.dingtalk.com/robot/send?access_token={你的機(jī)器人的token}’dd_headers = { 'Content-Type': 'application/json', 'Charset': 'UTF-8'}dd_message = { 'msgtype': 'text', 'text': { 'content': ’通知:Hello World’ } }r = requests.post(url=webhook, headers=dd_headers, data=json.dumps(dd_message))print(r.text)

最后的效果如下:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

郵件接入

郵件接入這里選取了 QQ 郵箱作為案例,首先需要開啟 POP3/SMTP 服務(wù),然后點(diǎn)擊生成授權(quán)碼:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

生成的這個(gè)授權(quán)碼實(shí)際上就起到密碼的作用,所以不要隨便外泄:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

下面是完整的Python 調(diào)用郵件的 Demo 代碼,填寫對(duì)應(yīng)的信息之后可以直接運(yùn)行:

import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrsender = ’admin@sqlsec.com’ # 發(fā)件人郵箱賬號(hào)sender_pass = ’***********’ # 發(fā)件人郵箱密碼receiver = ’admin@sqlsec.com’ # 收件人郵箱賬號(hào)content = ’郵件正文內(nèi)容’try: msg = MIMEText(content, ’plain’, ’utf-8’) msg[’From’] = formataddr(['T00ls 簽到提醒', sender]) # 括號(hào)里的對(duì)應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號(hào) msg[’To’] = formataddr(['', receiver]) # 括號(hào)里的對(duì)應(yīng)收件人郵箱昵稱、收件人郵箱賬號(hào) msg[’Subject’] = 'Python 發(fā)送郵件測(cè)試' # 郵件的主題,也可以說是標(biāo)題 server = smtplib.SMTP_SSL('smtp.qq.com', 465) server.login(sender, sender_pass) # 括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、郵箱密碼 server.sendmail(sender, [receiver, ], msg.as_string()) # 括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、收件人郵箱賬號(hào)、發(fā)送郵件 server.quit() # 關(guān)閉連接 print('郵件發(fā)送成功')except Exception: print('郵件發(fā)送失敗')

功能整合

項(xiàng)目地址: https://github.com/sqlsec/TuBi

我們實(shí)現(xiàn)了釘釘和郵件的 Demo 之后,現(xiàn)在嘗試來進(jìn)行最終的功能整合吧,完整的代碼如下:

import timeimport jsonimport randomimport smtplibimport requestsfrom bs4 import BeautifulSoupfrom email.mime.text import MIMETextfrom email.utils import formataddr# t00ls 賬號(hào)配置username = ’國(guó)光’ # 帳號(hào)password = ’***’ # 密碼MD5 32位(小寫)question_num = 7 # 安全提問 參考下面question_answer = ’***’ # 安全提問答案# 0 = 沒有安全提問# 1 = 母親的名字# 2 = 爺爺?shù)拿? 3 = 父親出生的城市# 4 = 您其中一位老師的名字# 5 = 您個(gè)人計(jì)算機(jī)的型號(hào)# 6 = 您最喜歡的餐館名稱# 7 = 駕駛執(zhí)照的最后四位數(shù)字# 選擇提醒方式notice = 2 # 0 = 釘釘 1 = 郵件 2 = 我全都要# 如果選擇釘釘通知的話 請(qǐng)配置下方信息webhook = ’https://oapi.dingtalk.com/robot/send?access_token=***’ # 釘釘機(jī)器人的 webhook# 如果選擇郵件通知的話 請(qǐng)配置下方信息sender = ’admin@sqlsec.com’ # 發(fā)件人郵箱賬號(hào)sender_pass = ’***********’ # 發(fā)件人郵箱密碼receiver = ’admin@sqlsec.com’ # 收件人郵箱賬號(hào)req_headers = { ’User-Agent’: ’Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36’}def t00ls_login(u_name, u_pass, q_num, q_ans): ''' t00ls 登錄函數(shù) :param u_name: 用戶名 :param u_pass: 密碼的 md5 值 32 位小寫 :param q_num: 安全提問類型 :param q_ans: 安全提問答案 :return: 簽到要用的 hash 和 登錄后的 Cookies ''' login_data = { ’action’: ’login’, ’username’: u_name, ’password’: u_pass, ’questionid’: q_num, ’answer’: q_ans } response_login = requests.post(’https://www.t00ls.net/login.json’, data=login_data, headers=req_headers) response_login_json = json.loads(response_login.text) if response_login_json[’status’] != ’success’: return None else: print(’用戶:’, username, ’登入成功!’) formhash = response_login_json[’formhash’] t00ls_cookies = response_login.cookies return formhash, t00ls_cookiesdef t00ls_sign(t00ls_hash, t00ls_cookies): ''' t00ls 簽到函數(shù) :param t00ls_hash: 簽到要用的 hash :param t00ls_cookies: 登錄后的 Cookies :return: 簽到后的 JSON 數(shù)據(jù) ''' sign_data = { ’formhash’: t00ls_hash, ’signsubmit’: 'true' } response_sign = requests.post(’https://www.t00ls.net/ajax-sign.json’, data=sign_data, cookies=t00ls_cookies, headers=req_headers) return json.loads(response_sign.text)def t00ls_domain(t00ls_hash, t00ls_cookies): ''' t00ls 域名查詢函數(shù) :param t00ls_hash: 簽到要用的 hash :param t00ls_cookies: 登錄后的 Cookies :return: 查詢相關(guān)的日志信息 ''' content = ’’ # 使用站長(zhǎng)之家查詢今天注冊(cè)的域名 start_time = time.time() china_url = ’https://whois.chinaz.com/suffix’ search_data = ’ix=.com&suffix=.cn&c_suffix=&time=1&startDay=&endDay=’ req_headers[’Content-Type’] = ’application/x-www-form-urlencoded’ response_domains = requests.post(url=china_url, headers=req_headers, data=search_data, timeout=10) # Bs4 解析器 簡(jiǎn)單規(guī)則過濾一下放入到 domains 的列表中 soup = BeautifulSoup(response_domains.text, ’html.parser’) domains = [] for i in soup.select(’.listOther a’): if ’.’ in i.string and ’*’ not in i.string: domains.append(i.string) domain = random.sample(domains, 1)[0] # 隨機(jī)抽取一個(gè) 幸運(yùn)兒 end_time = time.time() print(f’站長(zhǎng)之家隨機(jī)找域名耗時(shí): {end_time - start_time:.4f}秒’) content += f’n站長(zhǎng)之家隨機(jī)找域名耗時(shí): {end_time - start_time:.4f}秒nn’ start_time = time.time() query_url = ’https://www.t00ls.net/domain.html’ query_data = f’domain={domain}&formhash={t00ls_hash}&querydomainsubmit=%E6%9F%A5%E8%AF%A2’ query_status = False query_count = 1 # 查詢重試次數(shù) # 如果 t00ls 查詢沒有成功的話 就一直查詢 while not query_status and query_count < 4: domain = random.sample(domains, 1)[0] # 隨機(jī)抽取一個(gè) 幸運(yùn)兒 query_data = f’domain={domain}&formhash={t00ls_hash}&querydomainsubmit=%E6%9F%A5%E8%AF%A2’ try: response_query = requests.post(url=query_url, headers=req_headers, data=query_data, cookies=t00ls_cookies) except Exception: pass if domain in response_query.text: response_tb = requests.get(’https://www.t00ls.net/members-tubilog.json’, cookies=t00ls_cookies) if domain in response_tb.text: print(’查詢域名成功 TuBi + 1 n’) content += ’查詢域名成功 TuBi + 1n’ query_status = True else: print(’糟糕 域名查詢成功 但是 TuBi 沒有增加 可能域名重復(fù)了’) content += ’糟糕 域名查詢成功 但是 TuBi 沒有增加 可能域名重復(fù)了n’ query_count += 1 print(f’隨機(jī)延時(shí) 5-10 秒,繼續(xù)第 {query_count} 次查詢’) content += f’隨機(jī)延時(shí) 5-10 秒,繼續(xù)第 {query_count} 次查詢nn’ time.sleep(random.randint(5, 10)) else: print(f’查詢失敗?失敗的域名是: {domain}’) content += f’查詢失敗?失敗的域名是: {domain}n’ query_count += 1 print(f’隨機(jī)延時(shí) 5-10 秒,繼續(xù)第 {query_count} 次查詢’) content += f’隨機(jī)延時(shí) 5-10 秒,繼續(xù)第 {query_count} 次查詢nn’ time.sleep(random.randint(5, 10)) if query_count == 4: print(’重試查詢次數(shù)已達(dá)上限 終止查詢’) content += ’重試查詢次數(shù)已達(dá)上限 終止查詢nn’ end_time = time.time() print(f’t00ls 域名查詢耗時(shí): {end_time - start_time:.4f}秒’) content += f’t00ls 域名查詢耗時(shí): {end_time - start_time:.4f}秒n’ return contentdef dingtalk(content): ''' 釘釘通知函數(shù) :param content: 要通知的內(nèi)容 :return: none ''' webhook_url = webhook dd_headers = { 'Content-Type': 'application/json', 'Charset': 'UTF-8' } dd_message = { 'msgtype': 'text', 'text': { 'content': f’T00ls 簽到通知n{content}’ } } r = requests.post(url=webhook_url, headers=dd_headers, data=json.dumps(dd_message))def mail(content): ''' 郵件通知函數(shù) :param content: 要通知的內(nèi)容 :return: none ''' msg = MIMEText(content, ’plain’, ’utf-8’) msg[’From’] = formataddr(['T00ls 簽到提醒', sender]) msg[’To’] = formataddr(['', receiver]) msg[’Subject’] = 'T00ls 每日簽到提醒' server = smtplib.SMTP_SSL('smtp.qq.com', 465) server.login(sender, sender_pass) server.sendmail(sender, [receiver, ], msg.as_string()) server.quit()def main(): content = ’’ response_login = t00ls_login(username, password, question_num, question_answer) if response_login: response_sign = t00ls_sign(response_login[0], response_login[1]) if response_sign[’status’] == ’success’: print(’簽到成功 TuBi + 1’) content += ’n簽到成功 TuBi + 1n’ verbose_log = t00ls_domain(response_login[0], response_login[1]) content += verbose_log if notice == 0: try: dingtalk(content) except Exception: print(’請(qǐng)檢查釘釘配置是否正確’) elif notice == 1: try: mail(content) except Exception: print(’請(qǐng)檢查郵件配置是否正確’) else: try: dingtalk(content) except Exception: print(’請(qǐng)檢查釘釘配置是否正確’) try: mail(content) except Exception: print(’請(qǐng)檢查郵件配置是否正確’) elif response_sign[’message’] == ’alreadysign’: print(’已經(jīng)簽到過啦’) content += ’n已經(jīng)簽到過啦n’ verbose_log = t00ls_domain(response_login[0], response_login[1]) content += verbose_log if notice == 0: try: dingtalk(content) except Exception: print(’請(qǐng)檢查釘釘配置是否正確’) elif notice == 1: try: mail(content) except Exception: print(’請(qǐng)檢查郵件配置是否正確’) else: try: dingtalk(content) except Exception: print(’請(qǐng)檢查釘釘配置是否正確’) try: mail(content) except Exception: print(’請(qǐng)檢查郵件配置是否正確’) else: print(’出現(xiàn)玄學(xué)問題了 簽到失敗’) else: print(’登入失敗 請(qǐng)檢查輸入資料是否正確’)if __name__ == ’__main__’: main()

最終整合的代碼看上去就不是那么優(yōu)雅的… 看來還是正如古人說的那樣:“有善始者實(shí)繁,能克終者蓋寡” 啊。

不管這么多了,以后有機(jī)會(huì)再來改進(jìn)代碼吧,下面直接看效果圖:

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本代碼(郵件+釘釘通知)

因?yàn)閲?guó)光我今天簽到并查詢過了,所以圖片上看的都是失敗的。

定時(shí)任務(wù)

看了不少網(wǎng)友使用了 騰訊云函數(shù)Github 自帶的 Actions 來實(shí)現(xiàn)自動(dòng)觸發(fā)腳本,的確也很不錯(cuò),感興趣的朋友也可研究看看。因?yàn)閲?guó)光我有一臺(tái) Web 服務(wù)器,所以國(guó)光我就采用了在 Linux 下使用原生的 crontab 命令實(shí)現(xiàn)定時(shí)任務(wù)了:

# 查看定時(shí)任務(wù)crontab -l# 編輯定時(shí)任務(wù)crontab -e

編輯定時(shí)任務(wù),一行一個(gè)任務(wù),國(guó)光我本次填寫的內(nèi)容如下:

30 9 * * * /usr/bin/python3 /root/code/t00ls/TuBi.py>&1

表示每天 9:30 自動(dòng)運(yùn)行下面的命令:

/usr/bin/python3 /root/code/t00ls/TuBi.py

這樣看起來是不是很簡(jiǎn)單呢,如果語法沒有問題的話,會(huì)得到如下提示:

crontab: installing new crontab

這表示新建定時(shí)任務(wù)成功,后面就可以躺著賺去每天的 2 個(gè) TuBi 了。

總結(jié)

這個(gè)腳本雖然并沒有啥難度,但是還是比實(shí)用的。釘釘?shù)?webhook 調(diào)用也很方便,以后再也其他類似腳本的話就可以少走一些彎路了,總之不論是開發(fā)還是安全都有很長(zhǎng)的路要走,路漫漫其修遠(yuǎn)兮,吾將上下而求索,共勉 !

到此這篇關(guān)于Python 實(shí)現(xiàn) T00ls 自動(dòng)簽到腳本(郵件+釘釘通知)的文章就介紹到這了,更多相關(guān)python自動(dòng)簽到腳本內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: 釘釘 Python
相關(guān)文章:
主站蜘蛛池模板: 国产成人yy精品1024在线 | 国产青青在线视频 | 国产主播久久 | 美国黄色片一级 | 在线观看免费精品国自产 | chinese调教在线播放 | 黄色三级大片 | 伦在线| 国产精品免费入口视频 | 婷婷五月在线视频 | 久久有精品 | 欧美激情一区二区三级高清视频 | 国产精品久久久久久小说 | 亚洲国产日韩在线人成蜜芽 | 久久精品欧美一区二区 | 在线成人综合色一区 | 26uuu精品一区二区 | 国产欧美成人一区二区三区 | 男人综合网 | 日韩高清一区二区三区不卡 | 黄色片大全在线观看 | 丰满大乳乳液 | 亚洲一级在线 | 一级毛片日韩a欧美最爱 | 男女污污网站 | 免费国产高清视频 | 亚洲精品小说一区二区三区 | 99久久精品国产一区二区三区 | 欧美黄色大片免费看 | 午夜a爱| 国内自拍网站 | 日本一级淫片a 免费播放口 | 一级免费黄色 | 久久久精品在观看999 | 日本 国产 欧美 | 国产三级视频在线播放 | 曰本黄色录像 | 欧美一区二区三区网站 | 欧美不卡二区 | 91三级视频 | 国产精品国产主播在线观看 |