欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

先上圖:

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

獲取圖片原理:通過request請求html文件,利用正則匹配圖片路徑獲取到當(dāng)前頁面圖片的數(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.請求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);

  //這里就是當(dāng)前頁面的路徑以及頁面上圖片列表的數(shù)組,通過res.json發(fā)送到client;
  res.json({"url":url,"records":arr});
});
})

該方法適用于頁面url有規(guī)則,并且頁面中圖片路徑有規(guī)則的任何網(wǎng)站的圖片爬?。?/p>

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

不說了,看圖去了

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

相關(guān)文章

  • 詳解Express筆記之動(dòng)態(tài)渲染HTML(新手入坑)

    詳解Express筆記之動(dòng)態(tài)渲染HTML(新手入坑)

    這篇文章主要介紹了詳解Express筆記之動(dòng)態(tài)渲染HTML(新手入坑),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • Node.JS文件系統(tǒng)解析實(shí)例詳解

    Node.JS文件系統(tǒng)解析實(shí)例詳解

    這篇文章主要介紹了Node.JS文件系統(tǒng)解析實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 使用webpack打包koa2 框架app

    使用webpack打包koa2 框架app

    本文給大家介紹的是使用webpack為koa2框架打包的步驟及最終的部署,非常實(shí)用,有需要的小伙伴可以參考下
    2018-02-02
  • 簡單談?wù)刵ode.js 版本控制 nvm和 n

    簡單談?wù)刵ode.js 版本控制 nvm和 n

    大量開發(fā)者的貢獻(xiàn)使Node版本的迭代速度很快,版本很多(橫跨0.6到0.11),所以升級Node版本就成為了一個(gè)問題。目前有n和nvm這兩個(gè)工具可以對Node進(jìn)行無痛升級,本文簡單介紹一下二者的使用。
    2015-10-10
  • nvm管理node無法正常切換node版本問題的解決方法

    nvm管理node無法正常切換node版本問題的解決方法

    相信一定會有存在一些小伙伴 明明都已經(jīng)按著操作卸載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的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 十大 Node.js 的 Web 框架(快速提升工作效率)

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

    Node.js 系統(tǒng)含有多種不同的結(jié)構(gòu),如 MVC、全棧、REST API 和生成器等。這些結(jié)構(gòu)不僅提升了 Web 應(yīng)用的開發(fā)效率,也優(yōu)化了開發(fā)過程。在這里,我們收集整理了十個(gè)高效的 Node.js 框架,希望對你有幫助。
    2017-06-06
  • 詳解electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng)

    詳解electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng)

    這篇文章主要為大家詳細(xì)介紹了electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Node.js 學(xué)習(xí)筆記之簡介、安裝及配置

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

    本文是Node.js學(xué)習(xí)筆記系列文章的第一篇,主要給大家講解的是在Windows和Linux上安裝Node.js的方法。軟件安裝版本以0.12.0為例。希望大家能夠喜歡。
    2015-03-03
  • Nodejs腳本快速導(dǎo)出MySQL數(shù)據(jù)庫數(shù)據(jù)

    Nodejs腳本快速導(dǎo)出MySQL數(shù)據(jù)庫數(shù)據(jù)

    在數(shù)據(jù)庫管理和數(shù)據(jù)遷移的過程中,常常需要將數(shù)據(jù)庫中的表數(shù)據(jù)和結(jié)構(gòu)進(jìn)行導(dǎo)出,本文將使用Node.js編寫一個(gè)腳本實(shí)現(xiàn)快速從MySQL數(shù)據(jù)庫中導(dǎo)出所有表的數(shù)據(jù)和結(jié)構(gòu),并保存為單獨(dú)的SQL文件,需要的可以參考下
    2024-10-10

最新評論