50行程式碼,Node爬蟲練手專案 ?️

zy_2071發表於2019-04-20

First

專案地址:Crawler-for-Github-Trending
專案中基本每一句程式碼都寫有註釋(因為就這麼幾行?),適合對Node爬蟲感興趣的同學入入門。

Introduction

50 lines, minimalist node crawler for Trending.
一個50行的node爬蟲,一個簡單的 axios, express, cheerio 體驗專案。

Usage

首先保證電腦已存在node環境,然後

1.拉取本專案

git clone https://github.com/ZY2071/Crawler-for-Github-Trending.git
cd Crawler-for-Github-Trending
npm i
node index.js
複製程式碼

2.或者下載本專案壓縮包,解壓

cd Crawler-for-Github-Trending-master  // 進入專案資料夾
npm i
node index.js
複製程式碼

Examples

當啟動專案後,可以看到控制檯輸出

Listening on port 3000!
複製程式碼

此時開啟瀏覽器,進入本地服務 http://localhost:3000/daily

http://localhost:3000/time-language // time表示週期,language代表語言  例如:

http://localhost:3000/daily  // 代表今日 可選引數:weekly,monthly
http://localhost:3000/daily-JavaScript  // 代表今日的java分類 可選引數:任意語言
複製程式碼

稍微等待即可看到爬取完畢的返回資料:

[
 {
  "title": "lib-pku / libpku",
  "links": "https://github.com/lib-pku/libpku",
  "description": "貴校課程資料民間整理",
  "language": "JavaScript",
  "stars": "14,297",
  "forks": "4,360",
  "info": "3,121 stars this week"
 },
 {
  "title": "SqueezerIO / squeezer",
  "links": "https://github.com/SqueezerIO/squeezer",
  "description": "Squeezer Framework - Build serverless dApps",
  "language": "JavaScript",
  "stars": "3,212",
  "forks": "80",
  "info": "2,807 stars this week"
 },
 ...
]
複製程式碼

More

本專案僅供爬取體驗,每次訪問都會實時爬取資料,所以資料返回速度會比較慢,實際操作應該是定時爬取資料然後將資料存進資料庫,資料從資料庫返回從而提高資料返回效率。

但專案很基礎,可以作為以上各個node模組最基礎的練手使用,希望可以幫到大家 ?

相關文章