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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章