作者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/cn.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