ajax+node+request爬取网络图片的实例(宅男福利)
注:本文只讨论技术不涉及商业,如有侵权请告知,未经本人同意转载后果自负!
本文是通过浏览器端ajax,node端request-json进行爬取”尤果网“部分图片资源,纯属技术方面兴趣,不涉及商业方面;
先上图:

如果没有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爬取网络图片的实例(宅男福利)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEq
这篇文章主要介绍了node项目中遇到使用断言测试程序,看了下nodejs的api之后,对nodejs中assert断言的几个方法做个简单的记录,需要的朋友可以参考下2017-09-09
nodejs 实现MQTT协议的服务器端和客户端的双向交互的过程
这篇文章主要介绍了nodejs 实现MQTT协议的服务器端和客户端的双向交互的过程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2023-11-11
Node.js 搭建后端服务器内置模块( http+url+querystring 的使用)
这篇文章主要介绍了Node.js搭建后端服务器内置模块(http+url+querystring的使用),文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的朋友可以参考一下2022-09-09
node的process以及child_process模块学习笔记
这篇文章主要介绍了node的process以及child_process模块学习笔记,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-03-03


最新评论