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