备份blog程序

 前些年头的blog被和谐后,一直觉得备份博客文章到本地还是相当有必要的。最近看python,此语言给人一种powerful 的感觉。于是兴头之下便来了几句。此代码只是针对csdn博客。方法有点呆板。其实最好是有1个可变的可迭代集合来存放url,python里有人写了优先队列,这是以后要改进的,现在先放一个朴素版本。另外一个用rss来获取url的,但是rss只是收录了更新的博客,老的没有,不知道什么原因,在这就不贴了。

  1. import urllib2,sys,re,os
  2. def savefile(filename, content, method = 'wb'):
  3.     op = open(filename, method)
  4.     op.write(content)
  5.     op.close()
  6.     return 1
  7. def SaveUrl(url):
  8.     global urls
  9.     urls[url]=1
  10.     c=urllib2.urlopen(url)
  11.     content=c.read()
  12.     if len(url.split('/'))>5:
  13.         dirs=("%s/backup/%s/%s" % ('.', url.split('/')[-4],url.split('/')[-3]))
  14.         if not os.path.exists(dirs):
  15.             os.makedirs(dirs)
  16.         savefile("%s/%s"%(dirs,url.split('/')[-1].replace('aspx','html')), content)
  17.         print 'save url',url
  18.     urlres=re.compile("http:blog.csdn.net//lwj1396//archive//[^/">/s/']+aspx")
  19.     needtoaddurls=urlres.findall(content)
  20.     for item in needtoaddurls:
  21.         if item not in urls.keys():
  22.             urls.setdefault(item,0)
  23.             print 'add',url
  24. def Backup():
  25.     global urls
  26.     i=10000
  27.     while i>0:
  28.         for url in urls:
  29.             if urls[url]==0:
  30.                 SaveUrl(url)
  31.                 break
  32.         i=i-1
  33. if __name__=='__main__':
  34.     urls={}
  35.     urls.setdefault(r'http://blog.csdn.net/lwj1396',0)
  36.     Backup()



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值