一个nodejs爬虫例子,这里使用抓取hexo的所有主题,并排序输出Follow(star)排名代码https://github.com/henry-figh...使用方法安装依赖包npminstall执行命令nodeserver.js到浏览器访问localhost:3000背景玩hexo的时候找不到好的主题。在知乎上搜索了一下,有人通过爬虫爬取了所有主题的排名版,但是发帖时间是2015年的,早该发了。人会爬,我也会,于是我开始了爬虫之路。工作内容访问hexo主题页面:https://hexo.io/themes/抓取所有主题的名称和github链接页面灵感1.请求VSSuperAgent一开始按照[参考文献1]使用SuperAgent,发现爬虫速度很慢,导致浏览器超时停止访问。以为是github慢,于是用科学的在线工具开了一个账号,但效果一般。不得不自己“爬行”,访问github页面。其实就是页面响应快,或者文档加载快,其他资源加载慢。SuperAgent估计要等到页面加载完毕才返回数据。那么,有没有像linux中的curlcollection那样只能请求document的工具呢?百度下来找到request,request确实快了很多,问题解决了。这是否意味着该请求比SuperAgent更好?根据情况。如果爬虫的数据在文档中,使用request可以明显加快爬虫的效率;如果爬虫的数据是通过页面的AJAX请求获取的,需要等到页面加载完毕再进行爬取,此时就需要SuperAgent。2.事件处理和函数第一次看到事件的时候,一直以为事件就是一个函数,执行的是一个任务。接触爬虫后发现事件的真正作用是异步的(异步不是并发)!!刚开始开发爬虫的时候,我用的是函数,发现爬虫一直在一个接一个的爬,效率很慢(函数是顺序执行的)。到这里才明白爬虫例子中使用事件是有原因的。异步是使用nodejs爬虫最大的好处。参考资料【nodeJS爬虫】前端爬虫系列——小爬“博客园”githubNodejs读写文件请求说明
