最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年08月28日 07:54:18   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇ajax+node+request爬取網(wǎng)絡(luò)圖片的實(shí)例(宅男福利)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

注:本文只討論技術(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 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');

//設(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 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": '服務(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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比較

    nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEq

    這篇文章主要介紹了node項(xiàng)目中遇到使用斷言測(cè)試程序,看了下nodejs的api之后,對(duì)nodejs中assert斷言的幾個(gè)方法做個(gè)簡(jiǎn)單的記錄,需要的朋友可以參考下
    2017-09-09
  • node實(shí)現(xiàn)基于token的身份驗(yàn)證

    node實(shí)現(xiàn)基于token的身份驗(yàn)證

    這篇文章主要介紹了node實(shí)現(xiàn)基于token的身份驗(yàn)證,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • nodejs 實(shí)現(xiàn)MQTT協(xié)議的服務(wù)器端和客戶端的雙向交互的過(guò)程

    nodejs 實(shí)現(xiàn)MQTT協(xié)議的服務(wù)器端和客戶端的雙向交互的過(guò)程

    這篇文章主要介紹了nodejs 實(shí)現(xiàn)MQTT協(xié)議的服務(wù)器端和客戶端的雙向交互的過(guò)程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • 詳解nodejs中的process進(jìn)程

    詳解nodejs中的process進(jìn)程

    這篇文章主要介紹了nodejs中的process進(jìn)程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-03-03
  • Node.js?搭建后端服務(wù)器內(nèi)置模塊(?http+url+querystring?的使用)

    Node.js?搭建后端服務(wù)器內(nèi)置模塊(?http+url+querystring?的使用)

    這篇文章主要介紹了Node.js搭建后端服務(wù)器內(nèi)置模塊(http+url+querystring的使用),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • Yapi安裝部署詳細(xì)圖文教程

    Yapi安裝部署詳細(xì)圖文教程

    YApi 是一個(gè)可本地部署的、打通前后端及QA的、可視化的接口管理平臺(tái),下面這篇文章主要給大家介紹了關(guān)于Yapi安裝部署的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • node的process以及child_process模塊學(xué)習(xí)筆記

    node的process以及child_process模塊學(xué)習(xí)筆記

    這篇文章主要介紹了node的process以及child_process模塊學(xué)習(xí)筆記,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • array-uniq的安裝和使用方法

    array-uniq的安裝和使用方法

    array-uniq是一個(gè)非常實(shí)用的NPM包,用于在JavaScript中創(chuàng)建不含重復(fù)元素的數(shù)組,它提供了一個(gè)簡(jiǎn)單而有效的方法來(lái)去除數(shù)組中的重復(fù)項(xiàng),本文將介紹如何安裝和使用array-uniq來(lái)清理你的數(shù)組數(shù)據(jù),需要的朋友可以參考下
    2024-06-06
  • node.js中的fs.openSync方法使用說(shuō)明

    node.js中的fs.openSync方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.openSync方法使用說(shuō)明,本文介紹了fs.openSync方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js 學(xué)習(xí)筆記之簡(jiǎn)介、安裝及配置

    Node.js 學(xué)習(xí)筆記之簡(jiǎn)介、安裝及配置

    本文是Node.js學(xué)習(xí)筆記系列文章的第一篇,主要給大家講解的是在Windows和Linux上安裝Node.js的方法。軟件安裝版本以0.12.0為例。希望大家能夠喜歡。
    2015-03-03

最新評(píng)論

海盐县| 军事| 定州市| 富宁县| 汤原县| 宜黄县| 德江县| 安顺市| 正安县| 炉霍县| 浠水县| 佛山市| 资溪县| 平乡县| 比如县| 涪陵区| 高平市| 盐山县| 乃东县| 凤城市| 微博| 金昌市| 龙川县| 杨浦区| 什邡市| 太仆寺旗| 井陉县| 沁阳市| 乐陵市| 汉寿县| 平利县| 长兴县| 锡林郭勒盟| 宁晋县| 阿拉善盟| 新蔡县| 临洮县| 福州市| 水城县| 嘉禾县| 广丰县|