小白,轻喷,本文教你三分钟入门爬虫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