时间:2021-05-25
每时每刻不管你睡了还是没睡,互联网都会有海量的数据来来往往,有客服端到服务端,有服务端到服务端。http的get和request完成的角色即为数据的获取及提交,接下来我们动手写一个简单的小爬虫来爬爬菜鸟教程中关于node的章节的课程界面。
爬取Node.js 教程首页的所有数据
建立node-http.js,其中代码如下,代码中有详细的的注释,自行理解了哈
var http=require('http');//获取http模块var url='http:///nodejs/nodejs-tutorial.html';//定义node官网地址变量// filer node chapterfunction filerNodeChapter(html){ // 将爬取得HTML装载起来 var $=cheerio.load(html); // 拿到左侧边栏的每个目录 var nodeChapter=$('#leftcolumn a'); //这里我希望我能获取的到的最终数据格式这个样子的,如此我们能知道每个目录的地址及标题 /** * [{id:,title:}] */ var chapterData=[]; nodeChapter.each(function(item){ // 获取每项的地址及标题 var id=$(this).attr('href'); var title=$(this).text(); chapterData.push({ id:id, title:title }) }) return chapterData;}//获取每个数据function getChapterData(nodeChapter){ nodeChapter.forEach(function(item){ console.log(' 【 '+item.id+' 】'+item.title+'\n') });}http.get(url,function(res){ var html=''; // 这里将会触发data事件,不断触发不断跟新html直至完毕 res.on('data',function(data){ html +=data }) // 当数据获取完成将会触发end事件,这里将会打印初node官网的html res.on('end',function(){ //console.log(html) // 过滤出node.js的课程目录 var nodeChapter= filerNodeChapter(html); //循环打印所获取的数据 getChapterData(nodeChapter) })}).on('error',function(){ console.log('获取node官网相关数据出错')})终端执行结果及打印出课程目录
G:\node\node-http> node node-http-more.js 【 /nodejs/nodejs-tutorial.html 】Node.js 教程 【 /nodejs/nodejs-install-setup.html 】Node.js 安装配置 【 /nodejs/nodejs-http-server.html 】Node.js 创建第一个应用 【 nodejs-npm.html 】 NPM 使用介绍 【 nodejs-repl.html 】 Node.js REPL 【 nodejs-callback.html 】 Node.js 回调函数 【 nodejs-event-loop.html 】 Node.js 事件循环 【 nodejs-event.html 】 Node.js EventEmitter 【 nodejs-buffer.html 】 Node.js Buffer 【 nodejs-stream.html 】 Node.js Stream 【 /nodejs/nodejs-module-system.html 】Node.js 模块系统。。。。。。。。。。。这里就不全部给出,你可以自己尝试着运行操作查看所有结果到此一个简单的爬虫就写完了,赶紧自己动手试试吧,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:最近想学习node.js,突然在网上看到基于node的爬虫制作教程,所以简单学习了一下,把这篇文章分享给同样初学node.js的朋友。目标:爬取http:
一、前言说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http、网页分析工具cherrio。使用http直接获取url路径对应网
python爬虫-梨视频短视频爬取(线程池)示例代码importrequestsfromlxmlimportetreeimportrandomfrommulti
☆代码示例:代码块语法遵循标准markdown代码,例如:packagecas;importorg.htmlparser.Node;importorg.html
上周写了一个node+experss的爬虫小入门。今天继续来学习一下,写一个爬虫2.0版本。这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂。因为每个周末都会在