欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs爬蟲抓取數(shù)據(jù)之編碼問題

 更新時間:2015年07月03日 09:48:26   投稿:hebedich  
這篇文章主要介紹了nodejs爬蟲抓取數(shù)據(jù)之編碼問題的相關(guān)資料,需要的朋友可以參考下

cheerio DOM化并解析的時候

1.假如使用了 .text()方法,則一般不會有html實體編碼的問題出現(xiàn)

2.如果使用了 .html()方法,則很多情況下(多數(shù)是非英文的時候)都會出現(xiàn),這時,可能就需要轉(zhuǎn)義一番了

類似這些 因為需要作數(shù)據(jù)存儲,所有需要轉(zhuǎn)換

復(fù)制代碼 代碼如下:

Халк крушит. Новый способ исполнен

大多數(shù)都是&#(x)?\w+的格式

所以就用正則轉(zhuǎn)換一番

var body = ....//這里就是請求后獲得的返回數(shù)據(jù),或者那些 .html()后獲取的

//一般可以先轉(zhuǎn)換為標(biāo)準(zhǔn)unicode格式(有需要就添加:當(dāng)返回的數(shù)據(jù)呈現(xiàn)太多\\\u 之類的時)
body=unescape(body.replace(/\\u/g,"%u"));
//再對實體符進(jìn)行轉(zhuǎn)義
//有x則表示是16進(jìn)制,$1就是匹配是否有x ,$2就是匹配出的第二個括號捕獲到的內(nèi)容,將$2以對應(yīng)進(jìn)制表示轉(zhuǎn)換
body = body.replace(/&#(x)?(\w+);/g,function($,$1,$2){
        return String.fromCharCode(parseInt($2,$1?16:10));
       });

ok ~

當(dāng)然了,網(wǎng)上也有很多個轉(zhuǎn)換的版本,適用的就行了

后記:

當(dāng)使用爬蟲抓取網(wǎng)頁數(shù)據(jù)時,cheerio模塊是經(jīng)常使用到底,它像jq那樣方便快捷

(但有些功能并未支持或者換了某種形式,比如 jq的 jQuery('.myClass').prop('outerHTML') ,cheerio則等價于 jQuery.html('.myClass')http://www.mgenware.com/blog/?p=2514

相關(guān)文章

  • nodejs開發(fā)微信小程序?qū)崿F(xiàn)密碼加密

    nodejs開發(fā)微信小程序?qū)崿F(xiàn)密碼加密

    本文給大家分享的是在使用nodejs開發(fā)微信小程序的過程中,實現(xiàn)密碼加密的示例代碼,非常簡單,有需要的小伙伴可以參考下
    2017-07-07
  • nodejs之請求路由概述

    nodejs之請求路由概述

    這篇文章主要介紹了nodejs的請求路由概述,需要的朋友可以參考下
    2014-07-07
  • nodejs中express入門和基礎(chǔ)知識點學(xué)習(xí)

    nodejs中express入門和基礎(chǔ)知識點學(xué)習(xí)

    這篇文章給大家分享了關(guān)于學(xué)習(xí)nodejs中express入門和基礎(chǔ)知識點內(nèi)容,有興趣的朋友們參考下。
    2018-09-09
  • 詳解用Node.js實現(xiàn)Restful風(fēng)格webservice

    詳解用Node.js實現(xiàn)Restful風(fēng)格webservice

    本篇文章主要介紹了詳解用Node.js實現(xiàn)Restful風(fēng)格webservice,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解如何使用Node.js編寫命令工具——以vue-cli為例

    詳解如何使用Node.js編寫命令工具——以vue-cli為例

    本篇文章主要介紹了如何使用Node.js編寫命令工具——以vue-cli為例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • node運(yùn)行js獲得輸出的三種方式示例詳解

    node運(yùn)行js獲得輸出的三種方式示例詳解

    這篇文章主要介紹了node運(yùn)行js獲得輸出的三種方式,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • node獲取命令行中的參數(shù)詳解

    node獲取命令行中的參數(shù)詳解

    這篇文章主要為大家介紹了node獲取命令行中的參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Node.js fs模塊原理及常見用途

    Node.js fs模塊原理及常見用途

    這篇文章主要介紹了Node.js fs模塊原理及常見用途,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • node.js調(diào)用C++開發(fā)的模塊實例

    node.js調(diào)用C++開發(fā)的模塊實例

    這篇文章主要介紹了node.js調(diào)用C++開發(fā)的模塊實例,在node的程序中,如果有大數(shù)據(jù)量的計算,處理起來比較慢,可以用C++來處理,然后通過回調(diào)(callback的形式),返回給node,需要的朋友可以參考下
    2015-07-07
  • Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法

    Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法

    這篇文章主要給大家介紹了在Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06

最新評論