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-Mozilla和IE中的一个函数直接量的问题分析
Aug 12 Javascript
jQuery maxlength文本字数限制插件
Apr 16 Javascript
div+css布局的图片连续滚动js实现代码
May 04 Javascript
浏览器的JavaScript引擎的识别方法
Oct 20 Javascript
JavaScript操作Cookie详解
Feb 28 Javascript
比较常见的javascript中定义函数的区别
Nov 09 Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
Sep 17 Javascript
CentOS环境中MySQL修改root密码方法
Jan 07 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
JavaScript 替换所有匹配内容及正则替换方法
Feb 12 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中一些可能会被忽略的问题
2013/06/21 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Flask解决跨域的问题示例代码
2018/02/12 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
会议主持词
2014/03/17 职场文书
论文诚信承诺书
2014/05/23 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
淘宝好评语句大全
2014/12/31 职场文书
自我工作评价范文
2015/03/06 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python