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