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

时间:2021-05-28

注:本文只讨论技术不涉及商业,如有侵权请告知,未经本人同意转载后果自负!

本文是通过浏览器端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 serverapp.use(morgan('dev'));//post resolveapp.use(bodyParser.json());app.use(bodyParser.urlencoded({extended: false}));// view engine setupapp.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 handlerapp.use(function(req, res, next) {var err = new Error('Not Found');err.status = 404;next(err);});// error handlerapp.use(function(err, req, res, next) {// set locals, only providing error in developmentres.locals.message = err.message;res.locals.error = req.app.get('env') === 'development' ? err : {};// render the error pageres.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爬取网络图片的实例(宅男福利)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章