在做yy爬蟲的時候,發現yy這個地方沒有使用webkit,還在使用ie內核,這樣的話我們就可以對它內嵌的瀏覽器做些什么了。
信息挺好爬的,順便分析了一下點加好友,加群和關注這幾個按鈕,發現到最后都是直接與客戶端的setCommand方法通信的,我沒有辦法直接調用它客戶端的函數。
使用jquery觸發click是一個比較另類的方法,以前覺得別人搞得還挺神奇的,就是沒往這方面想。
哦對了,它底層調用的是window.external.setCommand('addFriend',uid)方法,有興趣的朋友可以研究研究。
常量數據表
.版本 2.常量 activeCityFriend, "<文本長度: 97>", , $("div[class*='btn-yycity js-btn-yycity active'],div[class*='btn-yycity js-btn-yycity']").click().常量 addFriend, "<文本長度: 206>"
批量加好友功能代碼
.版本 2.支持庫 spec.程序集 程序集1.子程序 BatchAddFriend, , 公開, 批量加好友.參數 uids, 整數型, 數組.局部變量 jytb, 網頁填表.局部變量 i, 整數型.局部變量 uid, 文本型.局部變量 script, 文本型jytb.初始化 (GetFindPanel ())jytb.網頁_執行腳本 (#activeCityFriend).變量循環首 (1, 取數組成員數 (uids), 1, i) uid = uid + 到文本 (uids [i]) + “,”.變量循環尾 ()uid = 文本_替換 (uid, 1, 取文本長度 (uid) - 1, , “,”, “”)script = #addFriendscript = 文本_替換 (script, , , , “{uids}”, uid)程序_延時 (1000)jytb.網頁_執行腳本 (script).子程序 GetAddFriendWindows, , 公開, 獲取添加好友窗口句柄數組.參數 handles, 整數型, 參考 數組窗口_模糊遍歷窗口 (, “QWidget”, “添加聯系人”, handles).子程序 Arrange, , 公開, 排列窗口.參數 handles, 整數型, 數組.局部變量 rect, 精易_矩形.局部變量 right_offs, 整數型.局部變量 top_offs, 整數型.局部變量 i, 整數型窗口_置位置和大小 (handles [1], 0, 0)rect = 窗口_取位置和大小 (handles [1])right_offs = 0.變量循環首 (2, 取數組成員數 (handles), 1, i) right_offs = right_offs + rect.右邊 窗口_置位置和大小 (handles [i], 0, right_offs).變量循環尾 ().子程序 Input, , 公開, 輸入內容.參數 handles, 整數型, 數組.參數 text, 文本型.局部變量 i, 整數型.局部變量 handle, 整數型.局部變量 rect, 精易_矩形.變量循環首 (1, 取數組成員數 (handles), 1, i) handle = handles [i] rect = 窗口_取位置和大小 (handle) .如果真 (rect.底邊 = 280) 窗口_激活 (handle) 鼠標_消息 (handle, 110, 125) 程序_延時 (200) 文本_投遞 (handle, text) 程序_延時 (200) 鼠標_消息 (handle, 365, 260) .如果真結束 窗口_關閉 (handle).變量循環尾 ().子程序 GetFindPanel, 整數型, , 本子程序采用【精易編程助手】生成,成功返回窗口句柄,失敗返回0.局部變量 局_句柄, 整數型局_句柄 = 窗口_取句柄 (, , “QWidget”, “查找”).如果真 (局_句柄 = 0) 返回 (0).如果真結束局_句柄 = 窗口_取句柄 (局_句柄, , “YYBROWSER_AXCONTAINER”, “YYIE”).如果真 (局_句柄 = 0) 返回 (0).如果真結束局_句柄 = 窗口_取句柄 (局_句柄, , “Shell Embedding”, 字符 (0)).如果真 (局_句柄 = 0) 返回 (0).如果真結束局_句柄 = 窗口_取句柄 (局_句柄, , “Shell DocObject View”, 字符 (0)).如果真 (局_句柄 = 0) 返回 (0).如果真結束局_句柄 = 窗口_取句柄 (局_句柄, , “Internet Explorer_Server”, 字符 (0)).如果真 (局_句柄 = 0) 返回 (0).如果真結束調試輸出 (局_句柄)返回 (局_句柄)
YY自動加好友的代碼
實現此功能需要加載精易模塊5.6和精易VIP模塊 V4.31
.版本 2.程序集 窗口程序集_啟動窗口.程序集變量 handles, 整數型, , "0".子程序 _BatchAddFriend按鈕_被單擊.局部變量 users, 整數型, , "0"加入成員 (users, 99984964)加入成員 (users, 999684876)加入成員 (users, 998943844)加入成員 (users, 99746075)加入成員 (users, 997411860)BatchAddFriend (users).子程序 _GetAddFriendWindows按鈕_被單擊GetAddFriendWindows (handles)Arrange (handles).子程序 _Input按鈕_被單擊Input (handles, “Hello world!”)
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答