腾讯微博备份后图片下载Python工具

腾讯微博半死不活的挺了一年,终于自己承认不再运营了,好在他还给了备份的接口。提供邮箱就能把微博内容打包发到你的邮箱,但有个问题是,所有的图片还在腾讯的服务器上。这个还是不放心,肯定过一阵还得把这些图片也删除掉。自己用python,写了个图片下载和替换的小工具。运行环境python3.8。实际测试成功。附上代码。(另:如果自己不会备份可以找我5元一次https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.2e6d1debKOtjnX&ft=t&id=628449345004

 

 

# coding:utf-8
import numpy as np
import urllib.request
from urllib.request import urlretrieve
import re
import datetime
from dateutil.relativedelta import relativedelta
import random
import cv2
import os,stat

#根据URL下载文件,并返回本地文件名
def request_download(imgurl):
#{
  #处理后图片文件位置
    return_ImageFileName = "images/";
    newWblogpath_ImagePaht = "NewWBlog/";
    
    imgfilename = str(random.randint(10000,99999));
    imgfilename += ".png";
    return_ImageFileName += imgfilename;
    imgfilename = newWblogpath_ImagePaht + return_ImageFileName;
   
    urlretrieve(imgurl, imgfilename);
    return return_ImageFileName;
    
#}
if __name__ == '__main__':
#{
   #处理后文件位置
   newWblogpath = "./NewWBlog/";
    #处理后图片文件位置
   newWblogpath_ImagePaht = "./NewWBlog/images/";
   #原来的文件名
   oldWblogFile = "./Backup_of_Tencent_Weibo.html";

   #判断要处理的文件是否存在
   if not os.path.exists(oldWblogFile):
       print("weiBlog file is not exiting,fail!");

   #文件大小
   fsize = 0;
   #创建文件夹
   if not os.path.exists(newWblogpath):
       os.makedirs(newWblogpath);
  #创建图片文件夹
   if not os.path.exists(newWblogpath_ImagePaht):
       os.makedirs(newWblogpath_ImagePaht);

   #获取文件大小   
   fsize = os.path.getsize(oldWblogFile);
   #打开并读取文件
   fblog = open(oldWblogFile,"r",encoding='utf8');
   strHtml = fblog.read(fsize);
   fblog.close();
   #正则表达式,要取出图片的URL
   imgurl   = r'<img src="(.+?)"';
   #编译一下
   reg_imgurl   = re.compile(imgurl);

   urlimgList   = reg_imgurl.findall(strHtml)#进行匹配

   for imgurl in urlimgList:
   #{
       try:
         #{           
            #下载图片,并得到地址
            newimageurl = request_download(imgurl);
            
       #}
       except IOError:
           print(imgurl + "没有下载成功,请手动替换");
       else:
           #替换掉哦图片地址
            strHtml =strHtml.replace(imgurl,newimageurl);
    #}
   newWblogfile = newWblogpath + "index.html";
   fblog = open(newWblogfile,"w",encoding='utf8');
   fblog.write(strHtml);
   fblog.close();
  
#}

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值