記得先裝載http這個模塊javascript
打開cmd :npm install http -ghtml
var http=require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(res){ var html='' res.on('data',function(data){ html +=data }) res.on('end',function(){ console.log(html) }) }).on('error',function(){ console.log('獲取出錯') })
cmd:node一下,出來網頁源碼java
而後npm install cheerio -gnode
用慕課網作測試哈哈哈 ,這裏要說明一點:代碼和課程中是不同的,由於網站改動了源代碼,class之類的名字換掉了,因此以前的爬蟲爬不出來的。還好知道原理之後本身去改就能夠了。npm
/** * Created by Amy on 2017/7/13. */ var http= require('http') var cheerio= require('cheerio')//先裝載這個模塊 var url='http://www.imooc.com/learn/348' function filterChapters(html){ var $=cheerio.load(html) var chapters= $('.chapter') // [{ // chapterTitle:'', // videos:[ // title:'', // id:'' // ] // }] var courseData=[] chapters.each(function(item){ var chapter=$(this) var chapterTitle=chapter.find('strong').text() var videos=chapter.find('.video').children('li') var chapterData={ chapterTitle:chapterTitle, videos:[] } videos.each(function(item){ var video= $(this).find('.J-media-item') var videoTitle=video.text() var id = video.attr('href').split('video/')[1] chapterData.videos.push({ title:videoTitle, id:id }) }) courseData.push(chapterData) }) return courseData } function printCourseInfo(courseData){ courseData.forEach(function(item){ var chapterTitle=item.chapterTitle console.log(chapterTitle+'\n') item.videos.forEach(function(video){ console.log('['+video.id+']'+video.title+'\n') }) }) } http.get(url,function(res){ var html='' res.on('data',function(data){ html +=data }) res.on('end',function(){ var courseData= filterChapters(html) printCourseInfo(courseData) }) }).on('error',function(){ console.log('獲取出錯') })
去node一下試試,好神奇吧。ide