工欲善其事,必先利其器,会用各种模块非常重要。
1.模块使用
(1)superagent:Nodejs中的http请求库(每个语言都有无数个,java的okhttp,OC的afnetworking)
(2)cheerio:Nodejs中的html解析库(每个语言基本都有。。)
(3)async:Nodejs中的同/异步并发函数执行库(这个非常牛,其他语言同类型的不多,有点类似OC里的dispatch)
2.爬取内容
多玩的英雄联盟英雄页面,通过解析页面内每个英雄的URL,然后并发请求英雄的详细数据,提取需要的数据,然后取到各个英雄的壁纸,然后并发下载壁纸,并存储,最后全部完成后得到结果。
http://lol.duowan.com/hero/
这次主要是为了熟悉NodeJS爬虫,所以以简单的爬虫练手。
3.工程demo
https://github.com/rayshen/lolcrawler
参考:
http://caolan.github.io/async/docs.html