掘金外链即将失效?论如何用脚本一次性下载/替换失效的外链图片

简介: 前言大约一个月前,微博的图片外链失效了,以及掘金因为盗链问题也于2019/06/06决定开启防盗链,造成的影响是:个人博客网站的引用了这些图片外链都不能显示。目前微博和掘金的屏蔽,在CSDN和segmentfault都是可以正常显示的,只影响个人博客。比如前段时间我的博客:obkoro1.com上引用的微博图片都不能显示了。因为我写博客比较频繁,被屏蔽的图片不在少数,肯定不能一个个手动的替换,查了一番没有找到现成的解决方案,做了个脚本工具,并且写了文档把它开源出来了。markdown-img-down-site-change(下载/替换markdown中的图片)

image.png

前言

大约一个月前,微博的图片外链失效了,以及掘金因为盗链问题也于2019/06/06决定开启防盗链,造成的影响是:个人博客网站的引用了这些图片外链都不能显示

目前微博和掘金的屏蔽,在CSDN和segmentfault都是可以正常显示的,只影响个人博客

比如前段时间我的博客:obkoro1.com上引用的微博图片都不能显示了。

因为我写博客比较频繁,被屏蔽的图片不在少数,肯定不能一个个手动的替换,查了一番没有找到现成的解决方案,做了个脚本工具,并且写了文档把它开源出来了。

markdown-img-down-site-change(下载/替换markdown中的图片)

搜索目标文件夹中的markdown文件,找到目标图片,提供下载图片,替换图片链接的功能-通常用于markdown 图片失效。

简介

这是一个极为轻量的脚本,引用包,设置好参数,通过API即可轻松上手。

解决什么问题?

  1. 集中下载markdown文件中某个域名下的图片到一个文件夹下。
  2. 用新的图片链接替换markdown文件中某个域名的图片链接。
// 1. 下载这两个图片
// ![](https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/5/20/~tplv-t2oaga2asx-image.image图片名字?w=2024&h=1240&f=png&s=339262)
// ![](https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2018/6/16/~tplv-t2oaga2asx-image.image图片名字)
// 2. 替换成:github的链接
![](https://raw.githubusercontent.com/OBKoro1/articleImg_src/master/juejin/图片名字?w=2024&h=1240&f=png&s=339262)
![](https://raw.githubusercontent.com/OBKoro1/articleImg_src/master/juejin/图片名字)

安装:

npm i markdown-img-down-site-change -S

文档:

Github

API

更新日志

数据安全:

刚上手可能不了解脚本的功能,需要调试一番,这时候万一把markdown文件给改坏了,岂不是要哭死?

脚本有两种形式来防止这种情况发生:

  1. 脚本会默认备份你的文件。
  2. 默认开启测试模式,等到调试的差不多了,可以关闭测试模式。
  3. 建议:再不放心的话,可以先用一两个文件来测试一下脚本

使用:20行代码不到

在项目中有一个使用栗子,里面加了蛮多注释和空行的,实际代码20行都不到,可以说很简单了,如下:

// npm i markdown-img-down-site-change -S 
const markdownImageDown = require('markdown-img-down-site-change'); // 文件模块
// 传参: 这也是脚本的默认参数,根据情况可以自行修改
let option = {
    replace_image_url: 'https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/~tplv-t2oaga2asx-image.image',
    read_markdown_src: './source', // 要查找markdown文件的文件夹地址
    down_img_src: './juejin', // 下载图片到这个文件夹
    var_number: 3 // url前半部分的变量数量 比如上面的日期: /2019/5/20/、/2018/6/16/
}
// 初始化
const markdownImage = new markdownImageDown(option)
// 下载外链
markdownImage.checkDownImg();
// 上传下载下来的图片文件夹到云端 用户自己操作
// 上传图片之后 
// 脚本会把以前的外链替换成云端地址+拼接一个图片名
markdownImage.updateOption({
    new_image_url: 'https://xxx.com/目录地址/', // 图片上传的地址
    add_end: '?raw=true' // github图片地址有后缀 直接进去是仓库
})
// 替换外链 
// 把replace_image_url的字符串换成new_image_url字符串
markdownImage.replaceMarkdown();

运行:

仔细阅读文本,配置好参数之后

在项目根节点新建一个handleImg.js文件,安装一下脚本,然后用node运行该文件:

npm i markdown-img-down-site-change -S
node handleImg.js


目录
相关文章
|
7月前
|
存储 对象存储 C++
图片上传(为写博客而单独发布的文章,存储以后可能用得到的图片)
图片上传(为写博客而单独发布的文章,存储以后可能用得到的图片)
|
SQL 安全 PHP
网站显示该内容被禁止访问怎么解决
如果您的网站首页或者内页面突然出现“该内容被禁止访问”的提示,那么说明你的网站被黑了,被黑什么了?我找找找,也没找出什么问题,到底是怎么回事,最终如何解决呢?下面,Sine安全老于为大家一一解惑。
1928 0
网站显示该内容被禁止访问怎么解决
|
2月前
|
JavaScript 前端开发 编译器
吐血整理:纯前端如何实现批量dom转图片,并下载成压缩包
【10月更文挑战第2天】吐血整理:纯前端如何实现批量dom转图片,并下载成压缩包
61 2
|
5月前
|
搜索推荐
网站怎么做才可以禁止搜索引擎抓取收录页面快照
有太多的搜索引擎,每天抓来抓去的,不胜其烦!我们小网站承受不了这么大的量啊!于是,禁止他们抓取收录快照就成了我们的救命稻草!那么如何禁止自己的页面被收录快照呢?其实方法很简单,跟我来做吧。
68 6
网站怎么做才可以禁止搜索引擎抓取收录页面快照
|
6月前
|
数据采集 存储 编解码
技术笔记:Node.jsmm131图片批量下载爬虫1.01增加断点续传功能
技术笔记:Node.jsmm131图片批量下载爬虫1.01增加断点续传功能
105 0
|
7月前
|
文字识别 小程序 开发工具
mPaaS小程序问题之调用选图片的时候报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
织梦dedecms会员发布文章内容自动过滤外部链接的方法
织梦会员中心发布文章自动过滤外部外部链接,保留本站站内链接。这个织梦默认后台本身带有这样的功能的,只是会员模块里没有而已。
|
存储 缓存 前端开发
【Java项目】bitmap实现B站点赞超过500取消最早的点赞记录的实现思路
【Java项目】bitmap实现B站点赞超过500取消最早的点赞记录的实现思路
188 0
|
PHP 数据库
织梦DEDECMS自动内链一个关键字对应多个链接随机调用的设置方法
利用dedecsm织梦自动内链的时候,可能会有一个关键字对应多个网站,随机调用网址的需求,比如(织梦自动内链)这个关键词一些文章内链链接到网站的首页,一些链接到文章页,但是织梦中原带的功能,一个关键词只能加一个网址,网上找了很多办法也没有找到可用的,还好米米素材网懂一点点php,哪就自己动手吧。下面是织梦自动内链一个关键字对应多个链接,随机调用这些链接的解决办法。
|
小程序 前端开发 JavaScript
小程序上传多张图片到springboot后台,返回可供访问的图片链接
小程序上传多张图片到springboot后台,返回可供访问的图片链接
11726 0