使用python备份博客图床图片
2017-06-05 23:39
183 查看
说明
最近在写markdown文档的过程中,经常需要插入一些图片.因为托管博客的服务器空间有限,所以上传图片到图床再插入到markdown中.有时候又插入网上的图片,这些图片随时可能失效.导致我的博客网站显示图片错误.所以花了一点时间,用python 正则匹配 markdown中图片链接,然后下载图片保存到本地文件夹
img中.这样就不用担心图片失效啦,当我找到稳定的图床,可以随时把这些图片再上传更新,美滋滋~~~
功能
.md文件自动搜索
正则匹配图片链接
爬取图片内容
保存文本到本地
步骤
读取文件 => 正则匹配 => 图片下载 => 保存本地python代码
详细见我的github地址: https://github.com/wangshub/markdown-img-backup# coding=utf-8 import sys import os import re import requests import urllib import urllib2 def search(path, word): for filename in os.listdir(path): fp = os.path.join(path, filename) if os.path.isfile(fp) and word in filename: print fp download(str(fp)) elif os.path.isdir(fp): search(fp, word) def download(file_path): # filename = "test" name = file_path.split(u"/") filename = name[-1] f_md = open(file_path) # all text of md file text = f_md.read().decode('utf-8') # regex img_reg = r'\!{1}\[(.*?)\]\((.*?)\)' result = re.findall('!\[(.*)\]\((.*)\)', text) for i in range(len(result)): img_quote = result[i][0] img_url = result[i][1] # download img request = urllib2.Request(img_url) response = urllib2.urlopen(request) img_contents = response.read() # img name spell urlname = img_url.split(u"/") img_name = filename + '_' + \ str(i) + '_' + img_quote + str(urlname[len(urlname) - 1]) print img_name, '~~~', img_url # write to file f_img = open('img/' + img_name, 'wb') f_img.write(img_contents) f_img.close() f_md.close() search(sys.argv[1], '.md')
食用方法
python md_image_bacup.py /path/to/your/file/
作者
Author : WangSongE-mail : easternslope@yeah.net
相关文章推荐
- python之使用 wkhtmltopdf 和 pdfkit 批量加载html生成pdf,适用于博客备份和官网文档打包
- Web Scraping with Python:使用 Python 导出 CSDN 博客全部文章(保留样式)和附带图片
- 使用python自动备份博客
- Web Scraping with Python: 使用 Python 下载 CSDN 博客图片
- 在python中可以使用urllib方便的实现图片和flash下载
- 博客园 cnblogs博客 图片显示美化 使用CSS给图片添加圆角阴影
- CSDN博客文章的备份及导出电子书CHM(使用blog_backup)
- 博客无法使用外站图片,暂停更新一段时间
- 教你如何使用window live writer给博客图片添加水印
- 使用Python 和Boto 库将文件备份到AmazonS3
- windows和ubuntu下使用python写备份脚本
- 使用python解析火狐的书签备份文件
- 怎样在CSDN博客中使用程序结果的截图和win7自带的画图工具:可以将jpg图片转为bmp位图。win7的截图工具和绘图工具在哪?
- python处理图片之PIL模块简单使用
- Python备份CSDN博客
- 使用Python编写客户端 上传文字or图片至新浪微博
- 使用Python正则表达式从文章中取出所有图片路径
- 使用python做验证码图片
- 博客无法使用外站图片,暂停更新一段时间
- 使用Python将文本转为图片