成熟:成熟包括語言本身已經成熟,還有Framework和ecosystem也很龐大。Node.js的絕大多數framework都很新,有的API一直在變,有的感覺已經不在維護,總之沒有一個像Django那種百足之蟲感覺的framework。
接下來看看如何利用Node.js寫爬蟲
這個爬蟲主要就是獲取慕課網的課程信息,並把獲得的信息存儲到一個文件中,其中要用到cheerio庫,它可以讓我們方便的操作HTML,就像是用jQ一樣
開始前,記得
npm install cheerio
為了能夠併發的進行爬取,用到了Promise對象
在慕課網中,每個課程都有一個ID,我們事先要把想要獲取課程的ID寫到一個數組中,而且每個課程的地址都是一個相同的地址加上ID,所以我們只要把地址和ID拼接起來就是課程的地址
為了使獲取每個課程內容時併發執行,要使用Promise中的all方法
在then方法中,pages是每個課程的HTML頁面,我們還得從中提取出我們需要的信息,需要使用下面的函數
注意:在上面中將課程的學習人數設置為了0是因為學習課程人數是用Ajax動態獲取,所以我在後面寫了方法專門獲取學習課程人數,其中用到的Trim()方法是去除文本中的空格
獲取學習課程的人數:
這樣就將想獲取課程的學習人數都添加到了courseMembers數組中,在最後將學習課程的人數在賦值給相對應的課程
我們獲取到了數據,就要把它按照一定的格式存到一個文件中
最後獲取到的數據
歡迎大家關注頭條號:熱衷python和前端
如果有需要源碼的同學就留言或者私聊我吧
閱讀更多 熱衷python和前端 的文章