利用Node.js批量抓取高清妹子图片实例教程


Posted in Javascript onAugust 02, 2018

前言

写了一个抓取图片的小玩意,分享一下。

Github地址:https://github.com/focalhot/node.js-crawler (本地下载)

示例代码

//依赖模块
 var fs = require('fs');
 var request = require("request");
 var cheerio = require("cheerio");
 var mkdirp = require('mkdirp');
 
 //目标网址
 var url = 'http://me2-sex.lofter.com/tag/美女摄影?page=';
 
 //本地存储目录
 var dir = './images';
 
 //创建目录
 mkdirp(dir, function(err) {
 if(err){
 console.log(err);
 }
 });
 
 //发送请求
 request(url, function(error, response, body) {
 if(!error && response.statusCode == 200) {
 var $ = cheerio.load(body);
 $('.img img').each(function() {
 var src = $(this).attr('src');
 console.log('正在下载' + src);
 download(src, dir, Math.floor(Math.random()*100000) + src.substr(-4,4));
 console.log('下载完成');
 });
 }
 });
 
 //下载方法
 var download = function(url, dir, filename){
 request.head(url, function(err, res, body){
 request(url).pipe(fs.createWriteStream(dir + "/" + filename));
 });
 };

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
JS弹出可拖拽可关闭的div层完整实例
Feb 13 Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 Javascript
Javascript OOP之面向对象
Jul 31 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
Vue仿支付宝支付功能
May 25 Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 Javascript
如何从头实现一个node.js的koa框架
Jun 17 Javascript
axios如何利用promise无痛刷新token的实现方法
Aug 27 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
Apr 22 Javascript
关于ES6尾调用优化的使用
Sep 11 Javascript
JS前端基于canvas给图片添加水印
Nov 11 Javascript
在微信小程序里使用watch和computed的方法
Aug 02 #Javascript
在小程序中使用Echart图表的示例代码
Aug 02 #Javascript
node.js读取Excel数据(下载图片)的方法示例
Aug 02 #Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 #Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 #Javascript
重新认识vue之事件阻止冒泡的实现
Aug 02 #Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 #Javascript
You might like
yii gridview实现时间段筛选功能
2017/08/15 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
简单的Python2.7编程初学经验总结
2015/04/01 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Django中使用Celery的方法示例
2018/11/29 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python十进制转二进制的详解
2020/02/07 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
学年末自我鉴定
2014/01/21 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
小学班主任事迹材料
2014/12/17 职场文书
高三英语复习计划
2015/01/19 职场文书
长江三峡导游词
2015/01/31 职场文书
教学反思怎么写
2016/02/24 职场文书
php引用传递
2021/04/01 PHP
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers