Hexo 博客批量清理本地图片
Posted lyshark
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hexo 博客批量清理本地图片相关的知识,希望对你有一定的参考价值。
Hexo 静态博客在写作时如果需要引入图片,则需要将图片放置到网站目录下,这样一来当我们需要删除文章时,图片无法被删除,此时我们可以通过获取页面中所有图片的链接,并依此将这些链接对应的本地文件删除即可,实现代码如下。
此处我使用的主题是Next主题。
其中del_image(pi)
用户传入图片的名字,则该函数拼接到绝对路径并对其进行删除,在主函数get_image_page()
中需传入需要删除文章地址。
from urllib import request,parse
from bs4 import BeautifulSoup
import os,sys,re
def get_image_page(url):
pic = []
req = request.Request(url=url,method="GET")
respon = request.urlopen(req,timeout=3)
html = respon.read().decode("utf-8")
soup = BeautifulSoup(html,html.parser)
rs = soup.select(div[class="post-body"] p img)
for i in rs:
image = re.sub("/picture/","",i.attrs[src])
pic.append(image)
return pic
def del_image(pi):
path = "E:/MyBlog/source/picture/"
path += pi
os.remove(str(path))
print("删除图片: ".format(path))
if __name__ == "__main__":
page = get_image_page("http://lyshark.cnblogs.com/post/97f1.html")
for each in page:
del_image(each)
版权声明:本博客文章与代码均为学习时整理的笔记,文章 [均为原创] 作品,转载请 [添加出处] ,您添加出处是我创作的动力!
以上是关于Hexo 博客批量清理本地图片的主要内容,如果未能解决你的问题,请参考以下文章
《Hexo: 从零开始编写自己的主题》5. 添加本地搜索功能以及发布博客让官网接收