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实现简单的时钟实例代码
Nov 23 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
jQuery带时间的日期控件代码分享
Aug 26 Javascript
javascript动态生成树形菜单的方法
Nov 14 Javascript
node.js 动态执行脚本
Jun 02 Javascript
分享JS数组求和与求最大值的方法
Aug 11 Javascript
JavaScript实现256色转灰度图
Feb 22 Javascript
JS实现向iframe中表单传值的方法
Mar 24 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
微信小程序时间标签和时间范围的联动效果
Feb 15 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将session放入memcached的设置方法
2014/02/14 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
Python configparser模块应用过程解析
2020/08/14 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
联想中国官方商城:Lenovo China
2017/10/18 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
农村党员对照检查材料
2014/09/24 职场文书
同意迁入证明模板
2014/10/26 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
关于童年的读书笔记
2015/06/26 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server