日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python-爬蟲(chóng)初識(shí)-web端微信登錄(三)

系統(tǒng) 1907 0

目錄

一,輪詢(xún)和長(zhǎng)輪詢(xún)

二,分析web端微信

三,爬蟲(chóng)套路


?

一,輪詢(xún)和長(zhǎng)輪詢(xún)

短輪詢(xún) 的基本思路就是瀏覽器每隔一段時(shí)間向?yàn)g覽器發(fā)送http請(qǐng)求,服務(wù)器端在收到請(qǐng)求后,不論是否有數(shù)據(jù)更新,都直接進(jìn)行響應(yīng)。這種方式實(shí)現(xiàn)的即時(shí)通信,本質(zhì)上還是瀏覽器發(fā)送請(qǐng)求,服務(wù)器接受請(qǐng)求的一個(gè)過(guò)程,通過(guò)讓客戶(hù)端不斷的進(jìn)行請(qǐng)求,使得客戶(hù)端能夠模擬實(shí)時(shí)地收到服務(wù)器端的數(shù)據(jù)的變化。

  這種方式的 優(yōu)點(diǎn) 是比較簡(jiǎn)單,易于理解,實(shí)現(xiàn)起來(lái)也沒(méi)有什么技術(shù)難點(diǎn)。 缺點(diǎn) 是顯而易見(jiàn)的,這種方式由于需要不斷的建立http連接,嚴(yán)重浪費(fèi)了服務(wù)器端和客戶(hù)端的資源。尤其是在客戶(hù)端,距離來(lái)說(shuō),如果有數(shù)量級(jí)想對(duì)比較大的人同時(shí)位于基于短輪詢(xún)的應(yīng)用中,那么每一個(gè)用戶(hù)的客戶(hù)端都會(huì)瘋狂的向服務(wù)器端發(fā)送http請(qǐng)求,而且不會(huì)間斷。人數(shù)越多,服務(wù)器端壓力越大,這是很不合理的。

因此短輪詢(xún)不適用于那些同時(shí)在線(xiàn)用戶(hù)數(shù)量比較大,并且很注重性能的Web應(yīng)用。

            
              var xhr = new XMLHttpRequest();
    setInterval(function(){
        xhr.open('GET','/user');
        xhr.onreadystatechange = function(){

        };
        xhr.send();
    },1000)
            
          

長(zhǎng)輪詢(xún) ajax實(shí)現(xiàn)當(dāng)服務(wù)器收到客戶(hù)端發(fā)來(lái)的請(qǐng)求后,服務(wù)器端不會(huì)直接進(jìn)行響應(yīng),而是先將這個(gè)請(qǐng)求掛起,然后判斷服務(wù)器端數(shù)據(jù)是否有更新。如果有更新,則進(jìn)行響應(yīng),如果一直沒(méi)有數(shù)據(jù),則到達(dá)一定的時(shí)間限制(服務(wù)器端設(shè)置)才返回。?。 客戶(hù)端JavaScript響應(yīng)處理函數(shù)會(huì)在處理完服務(wù)器返回的信息后,再次發(fā)出請(qǐng)求,重新建立連接。

  長(zhǎng)輪詢(xún)和短輪詢(xún)比起來(lái),明顯減少了很多不必要的http請(qǐng)求次數(shù),相比之下節(jié)約了資源。長(zhǎng)輪詢(xún)的缺點(diǎn)在于,連接掛起也會(huì)導(dǎo)致資源的浪費(fèi)。

            
              function ajax(){
        var xhr = new XMLHttpRequest();
        xhr.open('GET','/user');
        xhr.onreadystatechange = function(){
              ajax();
        };
        xhr.send();
    }
            
          

輪詢(xún)與長(zhǎng)輪詢(xún)都是基于HTTP的,兩者本身存在著缺陷:輪詢(xún)需要更快的處理速度;長(zhǎng)輪詢(xún)則更要求處理并發(fā)的能力;兩者都是“被動(dòng)型服務(wù)器”的體現(xiàn):服務(wù)器不會(huì)主動(dòng)推送信息,而是在客戶(hù)端發(fā)送ajax請(qǐng)求后進(jìn)行返回的響應(yīng)。而理想的模型是"在服務(wù)器端數(shù)據(jù)有了變化后,可以主動(dòng)推送給客戶(hù)端",這種"主動(dòng)型"服務(wù)器是解決這類(lèi)問(wèn)題的很好的方案。Web Sockets就是這樣的方案。

二,分析web端微信

請(qǐng)求路徑 :?https://wx.qq.com/?

代碼地址:https://github.com/duanlei123/wechat.git?有詳細(xì)注釋....

三,爬蟲(chóng)套路

1,GET

2,POST

3,Cookies

4,Headers

依次注意-考慮以上4點(diǎn),便可成功爬取任何你想的....


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 镇康县| 晋州市| 望都县| 嘉兴市| 宁乡县| 兖州市| 元阳县| 临汾市| 聂拉木县| 南澳县| 稷山县| 定安县| 固阳县| 米脂县| 玉田县| 玉环县| 巨鹿县| 赤峰市| 商城县| 鸡泽县| 额济纳旗| 利辛县| 饶平县| 定安县| 简阳市| 泸西县| 忻城县| 思南县| 田东县| 衡阳市| 金湖县| 阜城县| 财经| 同德县| 浦县| 奉新县| 印江| 织金县| 翁牛特旗| 浪卡子县| 威海市|