国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 万安县| 类乌齐县| 天门市| 项城市| 双流县| 广平县| 芦溪县| 井研县| 富源县| 诏安县| 盈江县| 屏山县| 两当县| 灌云县| 罗平县| 新绛县| 玉山县| 阳江市| 马龙县| 石屏县| 武威市| 买车| 通渭县| 屯昌县| 东源县| 鄂托克前旗| 海口市| 赤水市| 新泰市| 朝阳县| 聂拉木县| 会宁县| 铜梁县| 锦州市| 兴国县| 长寿区| 浮梁县| 沁源县| 崇礼县| 嘉峪关市| 石嘴山市|