亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

基于node下的http小爬蟲的示例代碼

2024-05-06 16:41:56
字體:
來源:轉載
供稿:網友

每時每刻不管你睡了還是沒睡,互聯網都會有海量的數據來來往往,有客服端到服務端,有服務端到服務端。http的get和request完成的角色即為數據的獲取及提交,接下來我們動手寫一個簡單的小爬蟲來爬爬菜鳥教程中關于node的章節的課程界面。

爬取Node.js 教程首頁的所有數據

建立node-http.js,其中代碼如下,代碼中有詳細的的注釋,自行理解了哈

var http=require('http');//獲取http模塊var url='http://www.runoob.com/nodejs/nodejs-tutorial.html';//定義node官網地址變量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)  })}).on('error',function(){  console.log('獲取node官網相關數據出錯')})

終端執行結果中發現這個頁面的html全部被爬下來了

G:/node/node-http> node node-http.js<!Doctype html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta property="qc:admins" content="465267610762567726375" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Node.js 教程 | 菜鳥教程</title><link rel='dns-prefetch' href='//s.w.org' /><link rel="canonical" href="http://www.runoob.com/nodejs/nodejs-tutorial.html" /><meta name="keywords" content="Node.js 教程,node,Node.js,nodejs"><meta name="description" content="Node.js 教程  簡單的說 Node.js 就是運行在服務端的 JavaScript。 Node.js 是一個基于Chrome JavaScript 運行時建立的一個平臺。 Node.js是一個事件驅動I/O服務端JavaScript環境,基于Google的V8引擎,V8引擎執行Javascript的速度非??欤阅芊浅:?。  誰適合閱讀本教程? 如果你是一個前端程序員,你不懂得像PHP、Python或Ruby等動態編程語言,.."><link rel="shortcut icon" href="//static.runoob.com/images/favicon.ico" rel="external nofollow" rel="external nofollow" mce_href="//static.runoob.com/images/favicon.ico" rel="external nofollow" rel="external nofollow" type="image/x-icon"><link rel="stylesheet" href="/wp-content/themes/runoob/style.css?v=1.141" rel="external nofollow" type="text/css" media="all" /><link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="external nofollow" media="all" /><!--[if gte IE 9]><!-->。。。。。。。。。。這里只展示部分不然你半天看不到頭

當然爬個HTML對于我們來說沒啥用,現在我們要做些過濾,比如這個node教程中我想知道課程目錄有哪些,這樣可以選擇感興趣的去看看學學。直接上代碼吧還是:

不過在此之前我們需要下載cheerio模塊(cheerio是nodejs的抓取頁面模塊,為服務器特別定制的,快速、靈活、實施的jQuery核心實現。適合各種Web爬蟲程序。)具體詳細介紹你們可以自行去搜索了解,cheerio的用跟jquery的用法非常類似,所以不用擔心上手繁瑣。

PS G:/node/node-http> npm install cheerio

建立node-http-more.js,其中代碼如下:

var http=require('http');//獲取http模塊var cheerio=require('cheerio');//引入cheerio模塊var url='http://www.runoob.com/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    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 模塊系統。。。。。。。。。。。這里就不全部給出,你可以自己嘗試著運行操作查看所有結果

到此一個簡單的爬蟲就寫完了,趕緊自己動手試試吧,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久av| 亚洲欧美色婷婷| 亚洲女人初尝黑人巨大| 亚洲欧美第一页| 国产色婷婷国产综合在线理论片a| 国产一区二区美女视频| 久青草国产97香蕉在线视频| 欧美激情三级免费| 国产成人在线一区二区| 久久精品国产一区二区电影| 一本一本久久a久久精品牛牛影视| 在线观看视频亚洲| 欧美国产日韩一区二区| 久久人人97超碰精品888| 国产午夜精品全部视频播放| 国产脚交av在线一区二区| 高清一区二区三区日本久| 色综合久久88| 午夜精品久久久久久久99热| 欧美国产在线视频| 国产精品丝袜视频| 中文字幕欧美专区| 国外色69视频在线观看| 91精品中文在线| 98精品在线视频| 51精品国产黑色丝袜高跟鞋| 欧美一级淫片播放口| 麻豆精品精华液| 国产精品午夜国产小视频| 欧美日韩性生活视频| 国产在线999| 91夜夜未满十八勿入爽爽影院| 尤物99国产成人精品视频| 在线观看国产精品91| 国产亚洲精品日韩| 亚洲免费av电影| 一区二区三区黄色| 亚洲国语精品自产拍在线观看| 国内精品视频久久| 国产精品视频区1| 久久久www成人免费精品| 亚洲乱亚洲乱妇无码| 国产不卡av在线| 欧美一级高清免费播放| 日韩在线资源网| 亚洲区中文字幕| 亚洲一区二区自拍| 一本色道久久综合亚洲精品小说| 青青草原一区二区| 成人免费视频在线观看超级碰| 亚洲人成电影网站色…| 久久久久久成人精品| 992tv成人免费影院| 国产suv精品一区二区三区88区| 97国产精品人人爽人人做| 91在线视频导航| 成人有码在线播放| 青青久久aⅴ北条麻妃| 国产精品视频自在线| 中文字幕日本欧美| 亚洲视频一区二区| 青草青草久热精品视频在线观看| 色爱精品视频一区| 久久亚洲精品国产亚洲老地址| 91精品久久久久久久久久入口| 欧美日韩高清区| 国产精品com| 久久九九免费视频| 深夜福利国产精品| 最近中文字幕日韩精品| 欧美性猛交xxxxx免费看| 欧美激情在线视频二区| 亚洲精品国偷自产在线99热| 国产精品专区第二| 国产一区二区久久精品| 亚洲精品按摩视频| 色悠悠久久88| 欧美成人一区二区三区电影| 国产欧美日韩高清| 日韩中文在线中文网三级| 97超级碰碰人国产在线观看| 亚洲国产女人aaa毛片在线| 亚洲国产97在线精品一区| 亚洲男人av电影| 亚洲午夜av久久乱码| 久久久精品久久久| 57pao国产精品一区| 中文字幕久久久av一区| 欧美中文字幕视频在线观看| 久久久伊人欧美| 国产精品久久久久久久久久久久久久| 精品国产乱码久久久久久天美| 国产女人18毛片水18精品| 国内精品视频在线| 欧美在线亚洲在线| 色综合久综合久久综合久鬼88| 国产精品成人v| 成人免费xxxxx在线观看| 精品视频久久久久久| 日韩视频亚洲视频| 91精品久久久久久久久青青| 国产精品自产拍在线观| 国产欧美欧洲在线观看| 日韩在线欧美在线| 亚洲午夜性刺激影院| 久久亚洲精品一区二区| 2019亚洲日韩新视频| 久久久精品在线| 国产97在线亚洲| 国产一区深夜福利| 亚洲人成电影在线播放| 91免费人成网站在线观看18| 国产精品入口尤物| 亚洲欧美日韩高清| 日韩在线精品一区| 成人精品福利视频| 精品无人国产偷自产在线| 欧美老女人性生活| 91精品国产色综合久久不卡98| 久久久久久久久久婷婷| 亚洲二区在线播放视频| 久久久久久久91| 久久天堂av综合合色| 亚洲国产一区二区三区四区| 国产精品∨欧美精品v日韩精品| 日韩精品免费在线视频观看| 成人久久一区二区| 欧美极品少妇xxxxx| 国产成人综合精品在线| 日韩av免费在线观看| 国产免费亚洲高清| 中文字幕欧美专区| 国产精品成人av性教育| 中文字幕日韩av| 欧美日韩国产综合视频在线观看中文| 国产一区二区三区在线视频| 97视频网站入口| 国产精品盗摄久久久| 久久免费在线观看| 久久综合免费视频影院| 日本精品一区二区三区在线播放视频| 国产精品黄视频| 欧美亚洲在线观看| 国产三级精品网站| 久久久久亚洲精品国产| 大胆欧美人体视频| 久久影院在线观看| 欧美怡红院视频一区二区三区| 91av在线播放| 亚洲精品国产电影| 亚洲免费中文字幕| 欧美成人免费小视频| 亚洲欧美日本伦理| 日韩精品999| 高清欧美电影在线| 91色视频在线导航| 日韩精品一区二区视频| 欧美肥老太性生活视频| 亚洲欧美日本伦理| 人人做人人澡人人爽欧美| 欧美日韩国产第一页| 久久黄色av网站| 麻豆国产精品va在线观看不卡| 国产精品色视频|