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 相关文章推荐
Sample script that displays all of the users in a given SQL Server DB
Jun 16 Javascript
JS中confirm,alert,prompt函数使用区别分析
Apr 01 Javascript
javascript 数据类型转换(parseInt,parseFloat)
Jul 20 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
JavaScript获得指定对象大小的方法
Jul 01 Javascript
使用jquery提交form表单并自定义action的方法
May 25 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
Dec 08 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
Aug 27 Javascript
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
vue安装遇到的5个报错及解决方法
Jun 12 Javascript
JS实现打字游戏
Dec 17 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生成压缩文件实例
2015/02/07 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
python实现百度关键词排名查询
2014/03/30 Python
Python压缩和解压缩zip文件
2015/02/14 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
python实现名片管理系统
2018/11/29 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
python3处理word文档实例分析
2020/12/01 Python
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
宿舍卫生检讨书
2014/01/16 职场文书
审计主管岗位职责
2014/01/31 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
求职自我评价范文
2015/03/09 职场文书
经费申请报告
2015/05/15 职场文书
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers