[node] cheerio 原理

看板Ajax作者 (阿蹦)時間9年前 (2015/12/31 19:31), 9年前編輯推噓1(1017)
留言18則, 2人參與, 最新討論串1/1
請問jsdom or cheerio是如何寫成的,大概原理是? 取到mongodb的資料及fs.readfile到html檔後如何只用原生module將html裡的值根據collec -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.136.107 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1451561502.A.426.html

01/01 23:55, , 1F
這兩個都是開放原始碼專案,問這個問題前google過了嗎?
01/01 23:55, 1F

01/02 00:05, , 2F
他們基本上都是實作DOM,jsdom是以binary的方式實作
01/02 00:05, 2F

01/02 00:06, , 3F
cheerio則是用另一個js寫的html parser當底層
01/02 00:06, 3F

01/02 00:06, , 4F
他們都用了自己或是其他人寫的parser
01/02 00:06, 4F

01/02 00:07, , 5F
因為node.js的環境裡根本沒dom這回事,他又不是瀏覽器,
01/02 00:07, 5F

01/02 00:07, , 6F
因此要用就得自己寫,或是找其他人寫的
01/02 00:07, 6F

01/02 06:43, , 7F
如何不用module傳值給dom?
01/02 06:43, 7F

01/02 06:55, , 8F
下什麼關鍵字有教如何readfile後讀mongodb傳值給dom?
01/02 06:55, 8F

01/02 12:38, , 9F
就說node.js裡根本沒dom,請直接用module
01/02 12:38, 9F

01/02 17:26, , 10F
不用module無法做到?
01/02 17:26, 10F

01/02 17:51, , 11F
當然知沒dom 指的是html file
01/02 17:51, 11F
※ 編輯: washqwe (180.217.148.188), 01/02/2016 18:20:11

01/02 19:23, , 12F
對,半不到,沒有就是沒有,要不然你就自己做
01/02 19:23, 12F

01/02 19:23, , 13F
或是用regex暴力解字串,但是html並不是很適合用regex直
01/02 19:23, 13F

01/02 19:24, , 14F
接操作的格式
01/02 19:24, 14F

01/03 11:36, , 15F
自己做有關鍵字嗎
01/03 11:36, 15F

01/03 18:41, , 16F
你可以參考cheerio原始碼看他們是怎麼做的
01/03 18:41, 16F

01/03 18:42, , 17F
但我不推薦這麼做,有現成的不用要自幹實在不是很好的選
01/03 18:42, 17F

01/03 18:42, , 18F
01/03 18:42, 18F
文章代碼(AID): #1MXH8UGc (Ajax)
文章代碼(AID): #1MXH8UGc (Ajax)