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

 更新时间:2017年08月28日 07:54:18   投稿:jingxian  
下面小编就为大家带来一篇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爬取网络图片的实例(宅男福利)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Express笔记之动态渲染HTML(新手入坑)

    详解Express笔记之动态渲染HTML(新手入坑)

    这篇文章主要介绍了详解Express笔记之动态渲染HTML(新手入坑),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Node.JS文件系统解析实例详解

    Node.JS文件系统解析实例详解

    这篇文章主要介绍了Node.JS文件系统解析实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • 使用webpack打包koa2 框架app

    使用webpack打包koa2 框架app

    本文给大家介绍的是使用webpack为koa2框架打包的步骤及最终的部署,非常实用,有需要的小伙伴可以参考下
    2018-02-02
  • 简单谈谈node.js 版本控制 nvm和 n

    简单谈谈node.js 版本控制 nvm和 n

    大量开发者的贡献使Node版本的迭代速度很快,版本很多(横跨0.6到0.11),所以升级Node版本就成为了一个问题。目前有n和nvm这两个工具可以对Node进行无痛升级,本文简单介绍一下二者的使用。
    2015-10-10
  • nvm管理node无法正常切换node版本问题的解决方法

    nvm管理node无法正常切换node版本问题的解决方法

    相信一定会有存在一些小伙伴 明明都已经按着操作卸载node 和安装nvm 了但是 依旧无法正常通过nvm管理node,本文将给大家介绍nvm管理node无法正常切换node版本问题的解决方法,需要的朋友可以参考下
    2024-01-01
  • node.js中的http.request.end方法使用说明

    node.js中的http.request.end方法使用说明

    这篇文章主要介绍了node.js中的http.request.end方法使用说明,本文介绍了http.request.end的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 十大 Node.js 的 Web 框架(快速提升工作效率)

    十大 Node.js 的 Web 框架(快速提升工作效率)

    Node.js 系统含有多种不同的结构,如 MVC、全栈、REST API 和生成器等。这些结构不仅提升了 Web 应用的开发效率,也优化了开发过程。在这里,我们收集整理了十个高效的 Node.js 框架,希望对你有帮助。
    2017-06-06
  • 详解electron如何拦截网络请求并处理响应

    详解electron如何拦截网络请求并处理响应

    这篇文章主要为大家详细介绍了electron如何拦截网络请求并处理响应,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • Node.js 学习笔记之简介、安装及配置

    Node.js 学习笔记之简介、安装及配置

    本文是Node.js学习笔记系列文章的第一篇,主要给大家讲解的是在Windows和Linux上安装Node.js的方法。软件安装版本以0.12.0为例。希望大家能够喜欢。
    2015-03-03
  • Nodejs脚本快速导出MySQL数据库数据

    Nodejs脚本快速导出MySQL数据库数据

    在数据库管理和数据迁移的过程中,常常需要将数据库中的表数据和结构进行导出,本文将使用Node.js编写一个脚本实现快速从MySQL数据库中导出所有表的数据和结构,并保存为单独的SQL文件,需要的可以参考下
    2024-10-10

最新评论