使用nodejs寫了一個(gè)爬蟲的demo,目的是提取網(wǎng)頁(yè)的title部分。
創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有10余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),上千客戶的共同信賴。提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、外鏈、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)遇到大的問題就是網(wǎng)頁(yè)的編碼與nodejs默認(rèn)編碼不一致造成的亂碼問題。nodejs支持utf8, ucs2, ascii, binary, base64, hex等編碼方式,但是對(duì)于漢語(yǔ)言來說編碼主要分為三種,utf-8,gb2312,gbk。這里面gbk是完全兼容gb2312的,因此在處理編碼的時(shí)候主要就分為utf-8以及gbk兩大類。(這是在沒有考慮到其他國(guó)家的編碼情況,比如日本的Shift_JIS編碼等,同時(shí)這里這個(gè)iconv-lite模塊支持的編碼方法有限)。
首先說一下瀏覽器顯示網(wǎng)頁(yè)內(nèi)容的時(shí)候是如何處理編碼問題的。服務(wù)器和客戶端進(jìn)行通信,服務(wù)端將網(wǎng)頁(yè)按照指定的編碼方式(比如gbk)編碼成為二進(jìn)制碼流(即我們使用wireshark抓包看到額16進(jìn)制碼流)傳送給我們的客戶端??蛻舳藙t會(huì)根據(jù)網(wǎng)頁(yè)源碼中所規(guī)定的編碼方式,由瀏覽器調(diào)用對(duì)應(yīng)的解碼器,將二進(jìn)制碼流解碼后顯示出來。而編碼方式通常在網(wǎng)頁(yè)中是如下內(nèi)容表示:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。