小白,輕噴,本文教你三分鐘入門爬蟲javascript
有一天發現,阮一峯老師的博客圖片很好看,想收藏一下,由於幾百張,一張張下載太慢,朋友推薦了個谷歌插件(Fatkun)確實挺好用的,這以後就對爬蟲有了興趣,這個項目會整理一些簡單切實用的爬蟲代碼 crawler-img,都是基於 Node 實現。java
使用:node
一句話介紹:request 模塊能夠簡化 Node 環境下的 http 請求操做,fs 是node 自帶的模塊,用來讀寫文件git
安裝依賴:github
npm install request --save
引入npm
let request = require('request'); let fs = require('fs');
核心代碼(其實總共也就這麼多~):併發
for (let i=1; i< 20; i++) { request(`http://www.ruanyifeng.com/images_pub/pub_${i}.jpg`).pipe(fs.createWriteStream(`img/${i}.png`)) }
要注意控制併發量,對調用頻率作個限制,改進以下async
function getImg(i, times){ return new Promise(function(resolve, reject){ setTimeout(function(){ request(`http://www.ruanyifeng.com/images_pub/pub_${i}.jpg`).pipe(fs.createWriteStream(`img/${i}.png`)) resolve(); },times) }) } async function loop() { for (let i=1; i<356; i++) { await getImg(i, 300); //每秒調用三次 } } loop();
爬蟲入門是否是很簡單又好玩,你學會了嗎?oop