ajax+node+request爬取网络图片的实例(宅男福利)


Posted in Javascript onAugust 28, 2017

注:本文只讨论技术不涉及商业,如有侵权请告知,未经本人同意转载后果自负!

本文是通过浏览器端ajax,node端request-json进行爬取”尤果网“部分图片资源,纯属技术方面兴趣,不涉及商业方面;

先上图:

ajax+node+request爬取网络图片的实例(宅男福利)

如果没有node基础请自行学习~

获取图片原理:通过request请求html文件,利用正则匹配图片路径获取到当前页面图片的数组,发送到浏览器端,进行展示;

1.安装request-json (cnpm i request-json --save)

2.安装express(cnpm i express --save)

3.新建一个app.js文件,作为server文件,代码如下

const express = require("express");
const morgan = require('morgan');
const ejs = require('ejs');
const path = require('path');
const bodyParser = require('body-parser');
const app = express();

//logs info to server
app.use(morgan('dev'));

//post resolve
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));

// view engine setup
app.engine('html', ejs.__express);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');

//设置静态文件如:图片, CSS, JavaScript 等。
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(express.static(path.join(__dirname, 'public')));

/*
* reuire pages
*/
var index = require('./routes/index')

/*
* render pages
*/
app.use('/', index);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};

// render the error page
res.status(err.status || 500);
res.render('error', {
"title": '404',
"msg": '服务异常'
});
});
module.exports = app;

app.listen(3000,function(){
console.log('http://127.0.0.1:3000')
});

此时服务运行在3000端口;

4.请求html页面:

router.all("/getUGirls",function(req,res,next){

正则部分代码(……)

client.get(url,function(err, response, body) {
if((typeof body)!="string"){


body = JSON.stringify(body);

}

arr =body.match(reg);

console.log(arr);


//这里就是当前页面的路径以及页面上图片列表的数组,通过res.json发送到client;

res.json({"url":url,"records":arr});
});
})

该方法适用于页面url有规则,并且页面中图片路径有规则的任何网站的图片爬取;

再次声明,不要随便那人家网站上的图片随便使用,学学技术就好,况且这个方法没什么技术含量,源码就不放了;

不说了,看图去了

以上这篇ajax+node+request爬取网络图片的实例(宅男福利)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript来实现动画导航效果的代码
Dec 16 Javascript
真正的JQuery.ajax传递中文参数的解决方法
May 28 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
ie8下修改input的type属性报错的解决方法
Sep 16 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
浅谈JavaScript 数据属性和访问器属性
Sep 01 Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
微信小程序实现循环动画效果
Jul 16 Javascript
js排序与重组的实例讲解
Aug 28 #Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 #Javascript
JS自定义函数实现时间戳转换成date的方法示例
Aug 27 #Javascript
JavaScript学习笔记之惰性函数示例详解
Aug 27 #Javascript
Vue实现typeahead组件功能(非常靠谱)
Aug 26 #Javascript
vue下跨域设置的相关介绍
Aug 26 #Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
Aug 26 #Javascript
You might like
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
python根据日期返回星期几的方法
2015/07/06 Python
Python中的变量和作用域详解
2016/07/13 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python第三方库学习笔记
2020/02/07 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
学校计划生育责任书
2015/05/09 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技