【nodejs】用Node.js实现简单的壁纸网站爬虫

这篇具有很好参考价值的文章主要介绍了【nodejs】用Node.js实现简单的壁纸网站爬虫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 简介

在这个博客中,我们将学习如何使用Node.js编写一个简单的爬虫来从壁纸网站获取图片并将其下载到本地。我们将使用Axios和Cheerio库来处理HTTP请求和HTML解析。

2. 设置项目

首先,确保你已经安装了Node.js环境。然后,我们将创建一个新的文件夹,初始化项目并安装所需的依赖库:

Copy code
mkdir wallpaper-scraper
cd wallpaper-scraper
npm init -y
npm install axios cheerio
  1. 编写爬虫代码

在项目文件夹中,创建一个名为scraper.js的文件,并将你提供的代码复制粘贴进去。

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. 运行爬虫

现在,你可以在命令行中运行爬虫脚本:

node scraper.js

脚本会自动爬取壁纸网站的图片并将它们下载到一个名为img的文件夹中。每张图片将使用当前时间戳作为文件名,以确保唯一性。
【nodejs】用Node.js实现简单的壁纸网站爬虫,node.js,爬虫

5. 注意事项

确保遵守网站的使用条款和条件。不要过度请求或滥用网站,以免造成不必要的麻烦。
代码中使用的选择器、URL结构等可能会因网站结构的更改而失效。需要根据实际情况进行调整。文章来源地址https://www.toymoban.com/news/detail-654555.html

到了这里,关于【nodejs】用Node.js实现简单的壁纸网站爬虫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 「NodeJs进阶」超全面的 Node.js 性能优化相关知识梳理

    相信对于前端同学而言,我们去开发一个自己的简单后端程序可以借助很多的nodeJs的框架去进行快速搭建,但是从前端面向后端之后,我们会在很多方面会稍显的有些陌生,比如「性能分析」,「性能测试」,「内存管理」,「内存查看」,「使用C++插件」,「子进程」,「

    2024年02月01日
    浏览(54)
  • nodejs-websocket之简单利用node搭建服务器

    一、 需要安装 node.js 通过npm 安装 webSocket包 npm install websocket 二、编写服务端 这段代码是一个使用Node.js的websocket库(nodejs-websocket)创建的服务器,监听端口3000。以下是对代码的简要解释: 引入所需的websocket模块: const ws = require(\\\'nodejs-websocket\\\') 设置服务器端口号: const PORT =

    2024年02月07日
    浏览(46)
  • 【Node.js从基础到高级运用】十三、NodeJS中间件高级应用

    在现代web开发中,Node.js因其高效和灵活性而备受青睐。其中,中间件的概念是构建高效Node.js应用的关键。在这篇博客文章中,我们将深入探讨Node.js中间件的高级应用,包括创建自定义中间件、使用第三方中间件等。我们将从基础讲起,逐步深入,旨在为读者提供全面而深入

    2024年03月22日
    浏览(99)
  • Nodejs 入门8 NeDB 轻量级的Node.js 数据库

    常用的sqlite轻量级数据库,nodejs在windows环境下安装配置有时候会比较麻烦,很难顺利安装。 Nedb(Node Embedded Database)在一些情况下可以替代sqlite,特别适用于小型项目和快速原型开发。本文将介绍Nedb的基本概念、特性和使用方法,以帮助大家更好地了解和利用这个便捷的工

    2024年01月22日
    浏览(65)
  • node.js 爬虫图片下载

    运行主程序前需要先安装使用到的模块: npm install superagent --save axios要安装指定版,安装最新版会报错:npm install axios@0.19.2 --save 后端爬到数据后,把结果写入index.html再返回给前端显示。 前端请求效果图 后端运行效果图 下载到文件夹的图片

    2024年02月15日
    浏览(36)
  • 超简单的node爬虫小案例

    同前端爬取参数一样,输入三个参数进行爬取 注意点也一样: 注意分页的字段需要在代码里面定制化修改,根据你爬取的接口,他的业务规则改代码中的字段。比如我这里总条数叫total,人家的不一定。返回的数据我这里是data.rows,看看人家的是叫什么字段,改改代码。再比

    2024年01月17日
    浏览(31)
  • Node爬虫项目精简版 wallhaven网站实操 2023.8.29

    练习地址: https://wallhaven.cc/toplist

    2024年02月10日
    浏览(39)
  • 基于Node.JS的樱花在线视频网站--35259(免费领源码、附论文)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

    目  录 摘要 1 绪论 1.1 研究背景 1.2 系统设计思想 1.3 B/S体系工作原理 1. 4 n ode.js主要功能 2 1. 5 论文结构与章节安排 3 2   樱花在线视频网站 分析 4 2.1 可行性分析 4 2.2 系统流程分析 4 2.2.1 数据增加流程 5 2 .3.2 数据修改流程 5 2 .3. 3数据删除流程 5 2.3 系统功能分析 5 2.3.1 功能性

    2024年02月02日
    浏览(51)
  • 使用ExcelJS快速处理Node.js爬虫数据

    ExcelJS是一个用于处理Excel文件的JavaScript库。它可以让你使用JavaScript创建、读取和修改Excel文件。 以下是ExcelJS的一些主要特点: 支持xlsx、xlsm、xlsb、xls格式的Excel文件。 可以创建和修改工作表、单元格、行和列。 可以设置单元格样式、字体、背景颜色等。 可以设置工作表的

    2024年02月03日
    浏览(50)
  • node.js 简单使用 开始

    1.概要 问:体验一下node.js 看一下如何运行。 答:使用命令 node 文件名.js 2.举例 2.1 代码准备(main.js) 2.2 运行效果    

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包