当前位置: 首页 > news >正文

Nodejs搭配axios下载图片

新建一个文件夹,npm i axios

实测发现只需保留node_modules文件夹,删除package.json不影响使用

1.纯下载图片

其实该方法不仅可以下载图片,其他的文件都可以下载

const axios = require('axios')
const fs = require('fs')
var arrPic = ['https://tva1.sinaimg.cn/large/9ed5c127gy1gxbaj7wmu0j20j00g9tc3.jpg', 'https://tva1.sinaimg.cn/large/9ed5c127gy1gxbaf5rt0hj20ht0g60us.jpg']
arrPic.forEach((v, k) => {if (v == '') {console.log('======1111空文件地址')return}var arr = v.split('/')var fileName = arr.pop()fetchPic(v, fileName)
})function fetchPic(picUrl, fileName) {axios({method: 'get',url: picUrl,responseType: 'arraybuffer',}).then(function (response) {fs.writeFileSync(fileName, response.data)},(e) => {console.log('错误', e)})
}

从html文件中获取图片地址

替换部分图片地址并生成新文件及下载

用于wordpress文章正文里面的外链图片的替换

let fs = require('fs')
const axios = require('axios')/** 下面3行是把图片地址前半段进行正则替换,并写入新的文件内*/
var htmlStr = fs.readFileSync('./post.html', 'utf8')
var lastData = htmlStr.replace(/https:\/\/tva1.sinaimg.cn\/large\//g, 'https://pic.xxx.com/')
fs.writeFileSync('./after.html', lastData)// 定义正则表达式来匹配图片地址
//var regex = /<img[^>]+src\s*=\s*['"]([^'"]+)['"][^>]*>/g;
var regex = /https?:\/\/tva1\S+\.(?:jpg|jpeg|png|gif)/g;
//arrPic = htmlStr.match(/https:\/\/tva1.+(\.jpg|\.jpeg|\.png|\.gif)/)
var matches = [];
var match;
while ((match = regex.exec(htmlStr)) !== null) {matches.push(match[0]);
}// 输出匹配到的所有图片地址matches.forEach((v, k) => {if (v == '') {console.log('======空文件地址')return}var arr = v.split('/')var fileName = arr.pop()getPic(v, fileName)
})function getPic(picUrl, fileName) {axios({method: 'get',url: picUrl,responseType: 'arraybuffer',}).then(function (response) {fs.writeFileSync(fileName, response.data)//  response.data.pipe('c:\\user\\aexx\\Desktop' + fs.createWriteStream(fileName))},(e) => {console.log('错误', e.response.status)})
}

http://www.lryc.cn/news/277018.html

相关文章:

  • 强化学习在生成式预训练语言模型中的研究现状简单调研
  • python_selenium_安装基础学习
  • 面试宝典进阶之关系型数据库面试题
  • Agisoft Metashape 地面点分类参数设置
  • 计算机科学速成课【学习笔记】(4)——二进制
  • 数据库开发工具Navicat Premium 15 mac软件特色
  • 从零开始构建区块链:我的区块链开发之旅
  • c JPEG编码,但有错误
  • 二级C语言备考1
  • 【2024系统架构设计】 系统架构设计师第二版-嵌入式系统架构设计理论与实践
  • 用python提取word中的所有图片
  • 医疗器械分类及是否需要临床
  • AI人工智能虚拟现实行业发展分析
  • 3. SPSS数据文件的基本加工和处理
  • Ubuntu20二进制方式安装nginx
  • window mysql5.7 搭建主从同步环境
  • MCU、MPU、SOC简介
  • Kubernetes那点事儿——配置存储:ConfigMap、Secret
  • 小白向:搭建企业培训APP的完整技术指南
  • CVE-2023-36025 Windows SmartScreen 安全功能绕过漏洞
  • 分析一个项目(微信小程序篇)二
  • 每日论文推送(有中文摘或源码地址或项目地址)
  • 【漏洞复现】锐捷EG易网关login.php命令注入漏洞
  • Nginx安装http2和ssl模块
  • Android 8.1 隐藏设置中定位功能
  • 无线网卡怎么连接台式电脑?正确操作步骤分享!
  • 聚道云软件连接器助力某贸易公司实现付款流程自动化
  • 第六讲_css盒子模式
  • 【WSL】Win10 使用 WSL2 进行 Linux GPU 开发
  • 什么是博若莱新酒节?