ajax+node+request爬取网络图片的实例(宅男福利)

网友投稿 317 2023-04-14


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',

"msghttp://": '服务异常'

});

});

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 http://body)!="string"){

    body = JSON.stringify(body);

  }

  arr =body.match(reg);

  console.log(arr);

  //这里就是当前页面的路径以及页面上图片列表的数组,通过res.json发送到client;

  res.json({"url":url,"records":arr});

});

})

该方法适用于页面url有规则,并且页面中图片路径有规则的任何网站的图片爬取;

再次声明,不要随便那人家网站上的图片随便使用,学学技术就好,况且这个方法没什么技术含量,源码就不放了;

不说了,看图去了


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:dubbo接口测试调用(dubbo接口方法加参数)
下一篇:mock工具类测试(mock测试平台)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~