小白,轻喷,本文教你三分钟入门爬虫
有一天发现,阮一峰老师的博客图片很好看,想收藏一下,因为几百张,一张张下载太慢,朋友推荐了个谷歌插件(fatkun)确实挺好用的,这之后就对爬虫有了兴趣,这个项目会整理一些简单切实用的爬虫代码 ,都是基于 node 实现。
使用:
一句话介绍:request 模块可以简化 node 环境下的 http 请求操作,fs 是node 自带的模块,用来读写文件
安装依赖:
npm install request --save
引入
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`)) }
要注意控制并发量,对调用频率做个限制,改进如下
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();
爬虫入门是不是很简单又好玩,你学会了吗?
如对本文有疑问, 点击进行留言回复!!
微信小程序wx.scanCode扫描条形码,偶尔出现条形码不正确导致查询失败
Android 入门第七讲01-数据存储(数据存储概述,文件存储(raw和asserts目录读写,data/data/包名目录读写,sdcard目录读写),SharedPreferences读写)
vue-axios系列:axios拦截器,配置请求头,配置请求参数
Vuejs 针对 安卓低版本 、ios9.x 不兼容 ES6语法导致失效解决方法
网友评论