国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【nodejs】用Node.js實(shí)現(xiàn)簡單的壁紙網(wǎng)站爬蟲

這篇具有很好參考價(jià)值的文章主要介紹了【nodejs】用Node.js實(shí)現(xiàn)簡單的壁紙網(wǎng)站爬蟲。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 簡介

在這個(gè)博客中,我們將學(xué)習(xí)如何使用Node.js編寫一個(gè)簡單的爬蟲來從壁紙網(wǎng)站獲取圖片并將其下載到本地。我們將使用Axios和Cheerio庫來處理HTTP請求和HTML解析。

2. 設(shè)置項(xiàng)目

首先,確保你已經(jīng)安裝了Node.js環(huán)境。然后,我們將創(chuàng)建一個(gè)新的文件夾,初始化項(xiàng)目并安裝所需的依賴庫:

Copy code
mkdir wallpaper-scraper
cd wallpaper-scraper
npm init -y
npm install axios cheerio
  1. 編寫爬蟲代碼

在項(xiàng)目文件夾中,創(chuàng)建一個(gè)名為scraper.js的文件,并將你提供的代碼復(fù)制粘貼進(jìn)去。

const axios = require('axios');
const cheerio = require('cheerio');
const fs = require('fs');

const baseUrl = 'http://www.netbian.com/';
const page = 3;

const pachong = async () => {
  const imgList = [];
  for (let i = 0; i < page; i++) {
    const res = await axios.get(
      `${baseUrl}index${i === 0 ? '' : `_${i + 1}`}.htm`,
    );
    const $ = cheerio.load(res.data);
    const imgList2 = $('.list li a img')
      .toArray()
      .map((item) => {
        return $(item).attr('src');
      });
    imgList.push(...imgList2);
  }
  writeFile(imgList);
};

const writeFile = async (urls) => {
  urls.forEach(async (item) => {
    try {
      const res = await axios.get(item, { responseType: 'arraybuffer' });
      const imgBuffer = Buffer.from(res.data, 'binary');
      await fs.promises.writeFile(
        `./img/${new Date().getTime()}.jpg`,
        imgBuffer,
      );
      console.log('寫入成功 --- ' + item);
    } catch (error) {
      console.log('寫入失敗 --- ' + error);
    }
  });
};

pachong();

4. 運(yùn)行爬蟲

現(xiàn)在,你可以在命令行中運(yùn)行爬蟲腳本:

node scraper.js

腳本會(huì)自動(dòng)爬取壁紙網(wǎng)站的圖片并將它們下載到一個(gè)名為img的文件夾中。每張圖片將使用當(dāng)前時(shí)間戳作為文件名,以確保唯一性。
【nodejs】用Node.js實(shí)現(xiàn)簡單的壁紙網(wǎng)站爬蟲,node.js,爬蟲

5. 注意事項(xiàng)

確保遵守網(wǎng)站的使用條款和條件。不要過度請求或?yàn)E用網(wǎng)站,以免造成不必要的麻煩。
代碼中使用的選擇器、URL結(jié)構(gòu)等可能會(huì)因網(wǎng)站結(jié)構(gòu)的更改而失效。需要根據(jù)實(shí)際情況進(jìn)行調(diào)整。文章來源地址http://www.zghlxwxcb.cn/news/detail-654555.html

到了這里,關(guān)于【nodejs】用Node.js實(shí)現(xiàn)簡單的壁紙網(wǎng)站爬蟲的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 「NodeJs進(jìn)階」超全面的 Node.js 性能優(yōu)化相關(guān)知識梳理

    「NodeJs進(jìn)階」超全面的 Node.js 性能優(yōu)化相關(guān)知識梳理

    相信對于前端同學(xué)而言,我們?nèi)ラ_發(fā)一個(gè)自己的簡單后端程序可以借助很多的nodeJs的框架去進(jìn)行快速搭建,但是從前端面向后端之后,我們會(huì)在很多方面會(huì)稍顯的有些陌生,比如「性能分析」,「性能測試」,「內(nèi)存管理」,「內(nèi)存查看」,「使用C++插件」,「子進(jìn)程」,「

    2024年02月01日
    瀏覽(25)
  • nodejs-websocket之簡單利用node搭建服務(wù)器

    一、 需要安裝 node.js 通過npm 安裝 webSocket包 npm install websocket 二、編寫服務(wù)端 這段代碼是一個(gè)使用Node.js的websocket庫(nodejs-websocket)創(chuàng)建的服務(wù)器,監(jiān)聽端口3000。以下是對代碼的簡要解釋: 引入所需的websocket模塊: const ws = require(\\\'nodejs-websocket\\\') 設(shè)置服務(wù)器端口號: const PORT =

    2024年02月07日
    瀏覽(30)
  • 【Node.js從基礎(chǔ)到高級運(yùn)用】十三、NodeJS中間件高級應(yīng)用

    【Node.js從基礎(chǔ)到高級運(yùn)用】十三、NodeJS中間件高級應(yīng)用

    在現(xiàn)代web開發(fā)中,Node.js因其高效和靈活性而備受青睞。其中,中間件的概念是構(gòu)建高效Node.js應(yīng)用的關(guān)鍵。在這篇博客文章中,我們將深入探討Node.js中間件的高級應(yīng)用,包括創(chuàng)建自定義中間件、使用第三方中間件等。我們將從基礎(chǔ)講起,逐步深入,旨在為讀者提供全面而深入

    2024年03月22日
    瀏覽(26)
  • Nodejs 入門8 NeDB 輕量級的Node.js 數(shù)據(jù)庫

    Nodejs 入門8 NeDB 輕量級的Node.js 數(shù)據(jù)庫

    常用的sqlite輕量級數(shù)據(jù)庫,nodejs在windows環(huán)境下安裝配置有時(shí)候會(huì)比較麻煩,很難順利安裝。 Nedb(Node Embedded Database)在一些情況下可以替代sqlite,特別適用于小型項(xiàng)目和快速原型開發(fā)。本文將介紹Nedb的基本概念、特性和使用方法,以幫助大家更好地了解和利用這個(gè)便捷的工

    2024年01月22日
    瀏覽(30)
  • node.js 爬蟲圖片下載

    node.js 爬蟲圖片下載

    運(yùn)行主程序前需要先安裝使用到的模塊: npm install superagent --save axios要安裝指定版,安裝最新版會(huì)報(bào)錯(cuò):npm install axios@0.19.2 --save 后端爬到數(shù)據(jù)后,把結(jié)果寫入index.html再返回給前端顯示。 前端請求效果圖 后端運(yùn)行效果圖 下載到文件夾的圖片

    2024年02月15日
    瀏覽(21)
  • 超簡單的node爬蟲小案例

    超簡單的node爬蟲小案例

    同前端爬取參數(shù)一樣,輸入三個(gè)參數(shù)進(jìn)行爬取 注意點(diǎn)也一樣: 注意分頁的字段需要在代碼里面定制化修改,根據(jù)你爬取的接口,他的業(yè)務(wù)規(guī)則改代碼中的字段。比如我這里總條數(shù)叫total,人家的不一定。返回的數(shù)據(jù)我這里是data.rows,看看人家的是叫什么字段,改改代碼。再比

    2024年01月17日
    瀏覽(14)
  • Node爬蟲項(xiàng)目精簡版 wallhaven網(wǎng)站實(shí)操 2023.8.29

    Node爬蟲項(xiàng)目精簡版 wallhaven網(wǎng)站實(shí)操 2023.8.29

    練習(xí)地址: https://wallhaven.cc/toplist

    2024年02月10日
    瀏覽(22)
  • 基于Node.JS的櫻花在線視頻網(wǎng)站--35259(免費(fèi)領(lǐng)源碼、附論文)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

    基于Node.JS的櫻花在線視頻網(wǎng)站--35259(免費(fèi)領(lǐng)源碼、附論文)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

    目 ?錄 摘要 1 緒論 1.1 研究背景 1.2 系統(tǒng)設(shè)計(jì)思想 1.3 B/S體系工作原理 1. 4 n ode.js主要功能 2 1. 5 論文結(jié)構(gòu)與章節(jié)安排 3 2 ? 櫻花在線視頻網(wǎng)站 分析 4 2.1 可行性分析 4 2.2 系統(tǒng)流程分析 4 2.2.1 數(shù)據(jù)增加流程 5 2 .3.2 數(shù)據(jù)修改流程 5 2 .3. 3數(shù)據(jù)刪除流程 5 2.3 系統(tǒng)功能分析 5 2.3.1 功能性

    2024年02月02日
    瀏覽(23)
  • 使用ExcelJS快速處理Node.js爬蟲數(shù)據(jù)

    使用ExcelJS快速處理Node.js爬蟲數(shù)據(jù)

    ExcelJS是一個(gè)用于處理Excel文件的JavaScript庫。它可以讓你使用JavaScript創(chuàng)建、讀取和修改Excel文件。 以下是ExcelJS的一些主要特點(diǎn): 支持xlsx、xlsm、xlsb、xls格式的Excel文件。 可以創(chuàng)建和修改工作表、單元格、行和列。 可以設(shè)置單元格樣式、字體、背景顏色等。 可以設(shè)置工作表的

    2024年02月03日
    瀏覽(25)
  • node.js 簡單使用 開始

    node.js 簡單使用 開始

    1.概要 問:體驗(yàn)一下node.js 看一下如何運(yùn)行。 答:使用命令 node 文件名.js 2.舉例 2.1 代碼準(zhǔn)備(main.js) 2.2 運(yùn)行效果 ? ?

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包