作者HenryLiKing (HenryLiKing)
看板Ajax
標題[node] [問題]剛接觸nodeJS的爬蟲問題
時間Fri Jun 24 21:19:04 2016
嗨版上的前輩們
我最近(前兩天)就在期末考中突然想要學nodeJS
所以考完後我就開始嘗試自學了
由於我在自學時很容易出現卡住的地方
所以會有很多基本的問題希望大家能幫我解答
=========================================
因為是突然想要自學所以我不知道要重哪裡著手
所以我就想說我乾脆來爬一下八卦板上面文章的標題好了
https://gist.github.com/anonymous/c0daeb3c6677d0dd249eb3b544cef1c9
這是我寫的code
但是我爬下來卻出現一堆看不懂的格式
例如:
https://gist.github.com/anonymous/a94109ce2111e1b5b2dd48c51e708dcf
裡面就是我爬下來的樣子
我不懂為什麼會是這個格式耶
希望大家可以幫我指點迷津一下
還有
我在學的時候發現好像cheerio這個模組是專門為了Jquery所做的
但是卻不能用下面這類型的方式去尋找Tag
var $ = cheerio.load(body);
var title = $('.title:first');
這種:first的方式去找
也想請教大家這是為什麼?
先謝謝大家了!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.110.168
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ajax/M.1466774350.A.44B.html
※ 編輯: HenryLiKing (114.45.110.168), 06/24/2016 21:30:06
1F:→ mmis1000: 因為title其實是個對元素的封裝,他就是個物件阿 06/24 22:24
2F:→ mmis1000: 這個lib的api基本上跟jquery一樣,你可能得先看完用法在 06/24 22:24
3F:→ mmis1000: 用。 06/24 22:25
4F:→ mmis1000: 以你的例子而言,應該要對她加上 .text() 才能取得文字 06/24 22:26
可是我有試過加上.text();但是輸出會變成空白的兩行
所以我以為是錯的
可以請問是因為什麼原因嗎?
※ 編輯: HenryLiKing (114.45.110.168), 06/24/2016 22:48:35
7F:→ HenryLiKing: 我好像知道為什麼了 06/24 23:35
8F:→ HenryLiKing: 因為八卦版有年齡限制 進入版前要先點以滿18的按鈕 06/24 23:35
9F:→ HenryLiKing: 所以才會抓不到 06/24 23:35
10F:→ mmis1000: 要正常下載八卦版文章,需要加一個cookie歐 06/25 11:33
11F:→ mmis1000: 打開瀏覽器f12看就知道了 06/25 11:34
12F:→ mmis1000: 然後title其實不需要 :first ,因為title根本不會超過1 06/25 11:34
13F:→ mmis1000: 個,除非網頁本身有問題 06/25 11:35
14F:推 s25g5d4: 他抓的是 .title 不是 title 06/25 17:37