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实现页面滚动图片加载(仿lazyload效果)
Jul 22 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
Aug 02 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
javascript简单进制转换实现方法
Nov 24 Javascript
基于JavaScript实现滑动门效果
Mar 16 Javascript
详解angular2实现ng2-router 路由和嵌套路由
Mar 24 Javascript
angular2 ng build部署后base文件路径问题详细解答
Jul 15 Javascript
javascript中call()、apply()的区别
Mar 21 Javascript
BootStrap前端框架使用方法详解
Feb 26 Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 Javascript
在HTML中使用JavaScript的两种方法
Dec 24 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php函数与传递参数实例分析
2014/11/15 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
php简单实现数组分页的方法
2016/04/30 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
简单了解什么是神经网络
2017/12/23 Python
python 搜索大文件的实例代码
2019/07/08 Python
Django配置文件代码说明
2019/12/04 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
python实现移动木板小游戏
2020/10/09 Python
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
本科生详细的自我评价
2013/09/19 职场文书
商务主管岗位职责
2013/12/08 职场文书
采购人员的个人自我评价
2014/01/16 职场文书
小学端午节活动方案
2014/03/13 职场文书
干部选拔任用方案
2014/05/26 职场文书
多媒体教室标语
2014/06/26 职场文书
铅球加油稿100字
2014/09/26 职场文书
2015年度女工工作总结
2015/10/22 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python