Node JS爬虫: 阮老师网站背景图
时间:2019-11-28
本文章向大家介绍Node JS爬虫: 阮老师网站背景图,主要包括Node JS爬虫: 阮老师网站背景图使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
小白,轻喷,本文教你三分钟入门爬虫
前言
有一天发现,阮一峰老师的博客图片很好看,想收藏一下,因为几百张,一张张下载太慢,朋友推荐了个谷歌插件(Fatkun)确实挺好用的,这之后就对爬虫有了兴趣,这个项目会整理一些简单切实用的爬虫代码 crawler-img,都是基于 Node 实现。
使用:
- npm install
- 部分需求直接用 node 指令执行相应的 js 文件就可以实现
简单案例:爬取阮老师网站背景图并保存本地
一句话介绍: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();
效果图
总结
爬虫入门是不是很简单又好玩,你学会了吗?
原文地址:https://www.cnblogs.com/zhoumingjie/p/11950322.html
- 使用Combres 库 ASP.NET 网站优化
- jQuery和asp.net mvc相关资源链接
- JavaScriptSerializer 序列化json 时间格式
- Nginx反向代理+负载均衡简单实现(https方式)
- 在网页中给Flash加上超级链接
- ASP.NET MVC HandleErrorAttribute 和 远程链接
- javascript实现数字转大写金额的函数
- 如何在GridView的Footer内显示总计?
- 自定义WCF的配置文件
- Centos中动态扩容lvm逻辑卷的操作记录
- Visual Round Trip Analyzer
- ASP.NET可以在Windows Server 2008 R2 Server Core上运行
- SOA十大设计原则
- 中国人民大学文继荣:大数据的经验主义解释
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法