您好,登錄后才能下訂單哦!
全局變量表
.版本 2 .全局變量 skey, 文本型 .全局變量 gtk, 文本型
QQ登陸代碼
.版本 2 .支持庫 spec .程序集 窗口程序集_窗口1 .子程序 _超文本瀏覽框1_載入開始 .局部變量 正則, 正則表達式 .局部變量 cookie, 文本型 cookie = 網頁_取Cookie (“qq.com”, ) 調試輸出 (cookie) .如果真 (尋找文本 (cookie, “;skey=”, , 假) ≠ -1) 正則.創建 (“(@[0-9a-zA-Z]{9})”, , , ) 正則.搜索全部 (cookie) skey = 正則.取子匹配文本 (1, 1) gtk = 計算Gtk (skey) _啟動窗口.可視 = 真 銷毀 () .如果真結束 .子程序 計算Gtk, 文本型, 公開, 返回計算后的值(Gtk) .參數 被計算值, 文本型, , skey或者p_skey .局部變量 hash, 整數型 .局部變量 i, 整數型 .局部變量 skey1, 文本型 hash = 5381 skey1 = 被計算值 .如果真 (skey1 = “”) skey1 = 被計算值 .如果真結束 .計次循環首 (取文本長度 (skey1), i) hash = hash + 左移 (hash, 5) + 取代碼 (skey1, i) .計次循環尾 () hash = 位與 (hash, 2147483647) 返回 (到文本 (hash)) .子程序 _窗口1_可否被關閉, 邏輯型 結束 ()
微視多線程刷播放量的代碼
實現此功能需要加載精易模塊5.6、魚刺類_Http模塊和魚刺類_多線程應用模塊
.版本 2 .支持庫 EThread .程序集 窗口程序集_啟動窗口 .程序集變量 臨界, 魚刺類_臨界許可 .程序集變量 線程池, 魚刺類_線程池Ex .程序集變量 已刷播放量, 文本型 .程序集變量 id, 文本型 .子程序 __啟動窗口_創建完畢 _啟動窗口.可視 = 假 載入 (窗口1, , 真) .子程序 工作開始 .局部變量 并發線程數, 整數型 .局部變量 bool, 邏輯型 .局部變量 需刷數量, 整數型 .局部變量 int, 整數型 .局部變量 已派發任務數, 整數型 .如果真 (線程池.取_狀態 () ≠ 0) 返回 () .如果真結束 按鈕_啟動停止.禁止 = 真 按鈕_啟動停止.標題 = “正在啟動” 并發線程數 = 到整數 (編輯框_并發線程數.內容) .如果真 (并發線程數 < 1) 并發線程數 = 1 .如果真結束 .如果真 (并發線程數 > 999) 并發線程數 = 999 .如果真結束 bool = 線程池.創建 (并發線程數, , , , ) .如果真 (bool = 假) 按鈕_啟動停止.標題 = “啟動” 按鈕_啟動停止.禁止 = 假 返回 () .如果真結束 需刷數量 = 到整數 (編輯框_注冊數量.內容) .如果真 (需刷數量 < 1) 需刷數量 = 1 .如果真結束 按鈕_啟動停止.標題 = “停止” 按鈕_啟動停止.禁止 = 假 已派發任務數 = 0 .判斷循環首 (已派發任務數 < 需刷數量) int = 線程池.取_空閑線程數 () .判斷循環首 (int = 0) .如果真 (線程池.取_狀態 () ≠ 1) 返回 () .如果真結束 _延遲 (10) int = 線程池.取_空閑線程數 () .判斷循環尾 () .計次循環首 (int, ) 線程池.投遞任務 (&刷播放量, , ) 已派發任務數 = 已派發任務數 + 1 .計次循環尾 () _處理事件 () .判斷循環尾 () .判斷循環首 (線程池.取_是否空閑 () = 假) .如果真 (線程池.取_狀態 () ≠ 1) 返回 () .如果真結束 _延遲 (10) .判斷循環尾 () 工作結束 () .子程序 工作結束 .如果真 (線程池.取_狀態 () ≠ 1) 返回 () ' 防止頻繁調用 其實也沒事的 線程池在銷毀中被再次調用 銷毀 會立即返回 假 不會造成報錯 .如果真結束 按鈕_啟動停止.禁止 = 真 按鈕_啟動停止.標題 = “正在停止” 線程池.銷毀 () 按鈕_啟動停止.標題 = “啟動” 按鈕_啟動停止.禁止 = 假 時鐘_狀態.時鐘周期 = 1000 編輯框_作品地址.禁止 = 假 .子程序 刷播放量 .局部變量 http, WinHttpW .局部變量 data, 文本型 .局部變量 局_skey, 文本型 .局部變量 局_gtk, 文本型 .局部變量 局_id, 文本型 臨界.進入 () 局_skey = skey 局_gtk = gtk 局_id = id 臨界.退出 () http.Auto () http.AutoCookies () http.SetTimeouts (3000, 3000, 3000, 3000) http.Cookies (“skey=” + 局_skey) http.Open (“POST”, “http://h6.qzone.qq.com/webapp/json/weishi/ReportFeedPlay?g_tk=” + 局_gtk) http.SetAccept (“application/json”) http.SetAcceptLanguage (“zh-CN,zh;q=0.9”) http.SetRequestHeader (“origin”, “https://h6.qzone.qq.com”, ) http.SetReferer (“https://h6.qzone.qq.com/weishi/feed/” + 局_id + “/wsfeed?_proxy=1&_wv=1&id=” + 局_id + “&from=pc&orifrom=”) http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36”) http.SetContentType (“application/json”) http.SetXMLHttpRequest () http.Send (“{” + #引號 + “feed_id” + #引號 + “:” + #引號 + 局_id + #引號 + “}”, , ) data = http.GetResponseText () 臨界.進入 () ' 試輸出 (data) 已刷播放量 = 文本_取中間 (data, “playnum” + #引號 + “:”, “,” + #引號 + “_idc”, , , , ) ' 輸出 (已刷播放量) 臨界.退出 () 返回 () .子程序 _時鐘_狀態_周期事件 .局部變量 int, 整數型 ' 0=未啟動,1=正在工作,2=正在創建,3=正在銷毀。 int = 線程池.取_狀態 () .判斷開始 (int = 0) 標簽_線程池狀態.標題 = “線程池狀態:未啟動” .判斷 (int = 1) 標簽_線程池狀態.標題 = “線程池狀態:正在工作” .判斷 (int = 2) 標簽_線程池狀態.標題 = “線程池狀態:正在創建” .判斷 (int = 3) 標簽_線程池狀態.標題 = “線程池狀態:正在銷毀” .默認 .判斷結束 int = 線程池.取_線程池容量 () 標簽_線程池容量.標題 = “線程池容量:” + 到文本 (int) int = 線程池.取_執行線程數 () 標簽_執行線程數.標題 = “執行線程數:” + 到文本 (int) int = 線程池.取_空閑線程數 () 標簽_空閑線程數.標題 = “空閑線程數:” + 到文本 (int) int = 線程池.取_隊列任務數 () 標簽_隊列任務數.標題 = “隊列任務數:” + 到文本 (int) 標簽_已注冊數量.標題 = “已刷播放量:” + 已刷播放量 .子程序 _按鈕_啟動停止_被單擊 .局部變量 str, 文本型 str = 按鈕_啟動停止.標題 .判斷開始 (str = “啟動”) id = 文本_取中間 (編輯框_作品地址.內容, “weishi/feed/”, “/wsfeed”, , , , ) .如果 (id ≠ “”) 編輯框_作品地址.禁止 = 真 時鐘_狀態.時鐘周期 = 1000 啟動線程 (&工作開始, , ) .否則 信息框 (“未在編輯框內找到視頻id”, 0, , ) .如果結束 .判斷 (str = “停止”) 工作結束 () .默認 _處理事件 () .判斷結束 .子程序 __啟動窗口_可否被關閉, 邏輯型 工作結束 ()
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。