Hexo 部落格批量清理本地圖片
阿新 • • 發佈:2022-03-18
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)