成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

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

python - 如何爬取登錄后的socket連接

瀏覽:87日期:2022-08-13 11:11:43

問題描述

需要爬取一個(gè)登錄以后的socket連接,這個(gè)socket會不定期的傳數(shù)據(jù)到網(wǎng)頁上,然后我目前只能通過不斷刷新網(wǎng)頁去完成,有沒有什么好的辦法可以去爬取需要網(wǎng)頁登錄后的socket呢?

===繼續(xù)描述:

已實(shí)現(xiàn)的部分

模擬登錄 (selenium模擬登錄)

偽造UA,刷新cookies,刷新sessionID(通過不停的登錄登出換cookie,定時(shí)結(jié)束webdriver再重啟來刷新sessionID)

通過Xpath 來獲取頁面的數(shù)據(jù)(lxml)

想要的結(jié)果(未實(shí)現(xiàn))

他的socket數(shù)據(jù)是這樣傳給瀏覽器的,我就是想用python搞個(gè)socket client接進(jìn)這個(gè)socket,然后等服務(wù)器推給我數(shù)據(jù).python - 如何爬取登錄后的socket連接

抽象化的問題

總的來說,爬一個(gè)時(shí)間點(diǎn)的數(shù)據(jù)并不困難,但是對于長連接的持續(xù)爬蟲,持續(xù)監(jiān)控,響應(yīng)式監(jiān)控我在網(wǎng)上找不到好的辦法,如果是設(shè)置定時(shí)任務(wù)去爬蟲,則當(dāng)采樣周期過小的時(shí)候(小于1秒),則運(yùn)算等成本過高且容易被封掉,有沒有什么好的辦法呢

問題解答

回答1:

HTTP是無狀態(tài)的,所以你的登陸以后狀態(tài)是通過傳給服務(wù)器一個(gè)或多個(gè)特殊值(一般在報(bào)文頭的cookie字段里)來確定的。抓一下HTTP包,然后模擬時(shí)帶上這些特殊值就OK了。

更新內(nèi)容:看到它Status Code了,這應(yīng)該是將連接換成websocket了,那么這個(gè)頁面一定是對方來提供的了。你可以看一下頁面的源碼,應(yīng)該會有var ws = new WebSocket('ws://ip:3000'); 之類的內(nèi)容。看一下對方客戶端的要求,然后改寫ws.onmessage回調(diào)函數(shù),這個(gè)函數(shù)的話內(nèi)容就任你拿捏了,你可以用它來判斷返回了新內(nèi)容或者再去請求另一個(gè)服務(wù)器來處理這些新內(nèi)容。你可以看一下這篇文章 網(wǎng)頁實(shí)時(shí)聊天之PHP實(shí)現(xiàn)websocket 的客戶端部分,試著修改來實(shí)現(xiàn)你的需求。

回答2:

找個(gè)websockt客戶端庫連就好了啊

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 伊人成人在线视频 | 日韩欧美黄色 | 一级做性色a爰片久久毛片免费 | a级欧美片免费观看 | 日本成本人片 | 杨幂精品国产专区91在线 | 亚洲91| 黄色毛片视频网站 | 久久久国产精品免费 | 欧美成人www在线观看网页 | 成人a影片在线观看 | 国产高清一区 | 国产一级做a爱免费观看 | 欧美国产高清 | 亚洲欧洲一区二区三区久久 | 91热国产| 毛片免费观看久久欧美 | 精品国产综合区久久久久久 | 免费99热在线观看 | 免费一级毛片在线观看 | 免费乱淫视频 | 久久毛片视频 | 亚洲精品专区一区二区欧美 | 国产精品日韩欧美 | 亚洲色色色图 | 久久久久久久久久久久久久久久久 | 久久久久久久岛国免费观看 | 欧美一级鲁丝片 | 亚洲欧美高清视频 | 91视频国产一区 | 在线免费公开视频 | jyzzjyzz国产免费观看 | 国产三片高清在线观看 | 久草在线新视觉 | 中国一级毛片aaa片 中国一级毛片录像 | 91国内精品久久久久免费影院 | 国产成人精品免费视频大全软件 | 久久爱噜噜噜噜久久久网 | 一区二区精品视频 | www成人国产在线观看网站 | 亚洲视频天堂 |