国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

ajax+node+request爬取網(wǎng)絡(luò)圖片的實(shí)例(宅男福利)

2019-11-19 15:39:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

注:本文只討論技術(shù)不涉及商業(yè),如有侵權(quán)請(qǐng)告知,未經(jīng)本人同意轉(zhuǎn)載后果自負(fù)!

本文是通過(guò)瀏覽器端ajax,node端request-json進(jìn)行爬取”尤果網(wǎng)“部分圖片資源,純屬技術(shù)方面興趣,不涉及商業(yè)方面;

先上圖:

如果沒(méi)有node基礎(chǔ)請(qǐng)自行學(xué)習(xí)~

獲取圖片原理:通過(guò)request請(qǐng)求html文件,利用正則匹配圖片路徑獲取到當(dāng)前頁(yè)面圖片的數(shù)組,發(fā)送到瀏覽器端,進(jìn)行展示;

1.安裝request-json (cnpm i request-json --save)

2.安裝express(cnpm i express --save)

3.新建一個(gè)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');//設(shè)置靜態(tài)文件如:圖片, 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": '服務(wù)異常'});});module.exports = app;app.listen(3000,function(){console.log('http://127.0.0.1:3000')});

此時(shí)服務(wù)運(yùn)行在3000端口;

4.請(qǐng)求html頁(yè)面:

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);  //這里就是當(dāng)前頁(yè)面的路徑以及頁(yè)面上圖片列表的數(shù)組,通過(guò)res.json發(fā)送到client;  res.json({"url":url,"records":arr});});})

該方法適用于頁(yè)面url有規(guī)則,并且頁(yè)面中圖片路徑有規(guī)則的任何網(wǎng)站的圖片爬取;

再次聲明,不要隨便那人家網(wǎng)站上的圖片隨便使用,學(xué)學(xué)技術(shù)就好,況且這個(gè)方法沒(méi)什么技術(shù)含量,源碼就不放了;

不說(shuō)了,看圖去了

以上這篇ajax+node+request爬取網(wǎng)絡(luò)圖片的實(shí)例(宅男福利)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜兰县| 柘荣县| 饶河县| 南宁市| 苏尼特左旗| 增城市| 洛隆县| 桃园县| 五指山市| 凌源市| 溆浦县| 乌拉特后旗| 聂拉木县| 桃园市| 弥勒县| 尚志市| 冷水江市| 十堰市| 蛟河市| 台东市| 封开县| 永嘉县| 舟曲县| 商水县| 海晏县| 承德县| 扶沟县| 闵行区| 烟台市| 始兴县| 尚志市| 景洪市| 象山县| 青田县| 大丰市| 澄城县| 民丰县| 陕西省| 错那县| 永善县| 石嘴山市|