国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 12:06:51
字體:
供稿:網(wǎng)友

cheerio DOM化并解析的時候

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

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

類似這些 因?yàn)樾枰鲾?shù)據(jù)存儲,所有需要轉(zhuǎn)換

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

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

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

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

var body = ....//這里就是請求后獲得的返回?cái)?shù)據(jù),或者那些 .html()后獲取的//一般可以先轉(zhuǎn)換為標(biāo)準(zhǔn)unicode格式(有需要就添加:當(dāng)返回的數(shù)據(jù)呈現(xiàn)太多///u 之類的時)body=unescape(body.replace(///u/g,"%u"));//再對實(shí)體符進(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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 麟游县| 平山县| 浦城县| 宣武区| 岳阳市| 常熟市| 吴忠市| 大同市| 横峰县| 洮南市| 祁东县| 雷波县| 梓潼县| 邻水| 鹤峰县| 西平县| 河西区| 大连市| 岗巴县| 汨罗市| 清镇市| 祥云县| 西峡县| 遵化市| 和静县| 财经| 顺平县| 襄汾县| 珲春市| 达尔| 阳城县| 南开区| 张家界市| 屯门区| 道真| 常熟市| 社旗县| 沂源县| 甘南县| 抚顺市| 泾源县|