全局變量表
1
2
3
|
.版本 2 .全局變量 skey, 文本型 .全局變量 gtk, 文本型 |
QQ登陸代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
.版本 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模塊和魚刺類_多線程應用模塊
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
.版本 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://h5.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://h5.qzone.qq.com”, ) http.SetReferer (“https://h5.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 = “停止”) 工作結束 () .默認 _處理事件 () .判斷結束 .子程序 __啟動窗口_可否被關閉, 邏輯型 工作結束 () |
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接