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

作者:jingxian 时间:2024-05-05 09:21:11 

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

本文是通过浏览器端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有规则,并且页面中图片路径有规则的任何网站的图片爬取;

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

不说了,看图去了

来源:http://www.cnblogs.com/DIEW/archive/2017/08/27/7441029.html

标签:ajax,node,request,爬取图片
0
投稿

猜你喜欢

  • Javascript showModalDialog两个窗体之间传值

    2024-04-28 09:38:56
  • 简单谈谈Python流程控制语句

    2023-03-12 12:34:25
  • centos7环境下二进制安装包安装 mysql5.6的方法详解

    2024-01-26 23:37:33
  • asp中如何过滤到单引号

    2009-07-05 18:38:00
  • golang执行命令操作 exec.Command

    2024-04-26 17:31:20
  • python读写xml文件实例详解嘛

    2023-03-29 13:04:33
  • macOS M1(AppleSilicon) 安装TensorFlow环境

    2022-05-26 04:03:34
  • 对pandas写入读取h5文件的方法详解

    2021-01-10 09:11:18
  • python tornado微信开发入门代码

    2023-11-01 01:04:59
  • Mysql中find_in_set()函数用法详解以及使用场景

    2024-01-18 10:17:47
  • 一文理解Python命名机制

    2021-11-22 08:04:04
  • 导致sql执行速度慢的几种情况盘点(生产环境踩过的坑)

    2024-01-17 17:07:21
  • vscode 左侧扩展活动栏内容消失的问题及解决方法

    2022-01-12 04:26:35
  • Mysql| 使用通配符进行模糊查询详解(like,%,_)

    2024-01-15 08:17:40
  • python使用paramiko实现ssh的功能详解

    2023-03-29 04:10:34
  • Django中cookie的基本使用方法示例

    2022-08-13 16:49:05
  • pandas数据合并之pd.concat()用法详解

    2022-10-26 20:22:38
  • 五分钟带你搞懂python 迭代器与生成器

    2021-08-24 19:25:10
  • 使用Python实现Wake On Lan远程开机功能

    2023-07-26 21:44:06
  • Git 的基本操作、开发流程、实用技巧总结(陈彦贝)

    2022-05-10 03:03:35
  • asp之家 网络编程 m.aspxhome.com