zoukankan      html  css  js  c++  java
  • [python]非常小的下载图片脚本(非通用)

    说在最前面:这不是一个十分通用的下载图片脚本,只是根据我的一个小问题,为了减少我的重复性工作写的脚本。

    问题

    • 起因:我的这篇博文什么是真正的程序员浏览量超过了4000+。

    • 问题来了:里面的图片我都是用的七牛的图床,我使用的是免费用户,每个月只有1G的下载流量,今天我收到一封邮件,告诉我我欠费了,欠费了几毛钱。我看了下使用概况,原来是流量超了,一个多G。光我博文发布的那天竟然有近1G的下载流量。。。。

    • 为什么这么做:因为我的文章都是在atom编辑器中,用markdown写的。所以图片都是以‘参考式’的形式插入,url都是七牛生成的。如下图:

      发布文章的时候直接全文拷贝到博客园后台,直接就可以发布显示,不需要再上传图片到博客园上。

    • 解决办法:看来为了以后不被莫名其妙的扣费(貌似七牛没有使用量预警,只有月末结算)。我打算把所有的图片上传到博客园。我本地没有这些图片的备份,七牛网页上也没找到批量下载的功能。一共19张图片,我又不想一个个下载。所以就写了个脚本。

    脚本

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    #
    #   Author  :   XueWeiHan
    #   E-mail  :   595666367@qq.com
    #   Date    :   16/3/9 下午4:16
    #   Desc    :   下载图片脚本
    
    import requests
    
    PATH = '/Users/xxx/Downloads/img'   #保存图片的路径
    
    # 图片的url(url我已经换成博客园的了,只留了两个)
    URLS = [
    '[pic1]: http://images2015.cnblogs.com/blog/759200/201603/759200-20160309165053600-1959617063.png "回旋镖"',
    '[pic2]: http://images2015.cnblogs.com/blog/759200/201603/759200-20160309165138632-1466995563.png "即兴表演"',
    ]
    
    
    class Img(object):
        def __init__(self, url):
            self.file_name = url.split('/')[-1]
            self.url = url
            self.path = PATH+'/'+self.file_name
    
        @property
        def data(self):
            r = requests.get(self.url)
            return r.content
    
        def save(self):
            with open(self.path, 'wb') as fb:
                fb.write(self.data)
    
    for i, url in enumerate(URLS):
        url = url.split(' ')[1]
        Img(url).save()
        print u'第{}/共{}:{}'.format(i+1, len(URLS), 'sucess')
    
    

    下载完成:

    事情没有那么简单

    脚本很快就写好了,秒下载完!但是,咱们的__博客园__不支持批量上传。T_T(如果有知道的小伙伴,请告诉无知的我)。

    完结

    话说,写这篇博客花费的时间是这些操作中最长的~看来我又卖萌了。。。。逃

  • 相关阅读:
    我的友情链接
    我的友情链接
    BUMO:超级节点共建接口
    OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题
    零知识证明: 抛砖引玉
    比特币原理
    区块链零知识证明:STARKs,Part-3:攻坚(下)
    什么是zkSNARKs:谜一般的“月亮数学”加密,Part-1
    什么是zkSNARKs:谜一般的“月亮数学”加密,Part-2
    STARKs, Part I: 多项式证明
  • 原文地址:https://www.cnblogs.com/xueweihan/p/5259050.html
Copyright © 2011-2022 走看看