[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(如果有知道的小伙伴,请告诉无知的我)。
完结
话说,写这篇博客花费的时间是这些操作中最长的~看来我又卖萌了。。。。逃
[python]非常小的下载图片脚本(非通用)的更多相关文章
- (数据科学学习手札80)用Python编写小工具下载OSM路网数据
本文对应脚本已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们平时在数据可视化或空间数据分析的过程中经常会 ...
- Python学习---网页爬虫[下载图片]
爬虫学习--下载图片 1.主要用到了urllib和re库 2.利用urllib.urlopen()函数获得页面源代码 3.利用正则匹配图片类型,当然正则越准确,下载的越多 4.利用urllib.url ...
- 微信小程序 - 下载图片并且显示进度
lastUpDate: 2018-8-12 请把请求地址加入到downLoadFile 提示:首先得要在公众号设置对应的downLoadFile地址. downImg : 下载图片 wxml js d ...
- python 协程并发下载图片
1 import aiohttp 2 import asyncio 3 import time 4 5 async def dl_coroutine(session,url): 6 print('开始 ...
- python实现通过URL下载图片到本地服务器
import os import urllib.request image_url = 'http://img.jingtuitui.com/759fa20190115144450401.jpg' f ...
- Python使用requests模块下载图片
MySQL中事先保存好爬取到的图片链接地址. 然后使用多线程把图片下载到本地. # coding: utf-8 import MySQLdb import requests import os imp ...
- 微信小程序下载图片到本地
downloadImg: function(e){ //触发函数 console.log(e.currentTarget.dataset.url) wx.downloadFile({ url: e.c ...
- 利用Python实现从百度下载图片到本地磁盘
import urllib.request import os import re url=r'http://image.baidu.com/search/index?tn=baiduimage&am ...
- php操作文件及下载图片脚本
<?php set_time_limit(0); $handle = fopen('article.txt','r'); for($i=0;$i<1;$i++) { $count = 0; ...
随机推荐
- Python学习笔记(1):列表元组结构
Python的列表元组功能强大,令人印象深刻.一是非常灵活,二是便于集体操作.特别是以元组作为列表项的结构,和数据访问的结果能够对应起来,和习惯的二维表理解上也一致,有很多的用途. 以学习笔记(3)中 ...
- Oracle的sqlnet.ora与password文件试验
先看有没有sqlnet.ora [oracle@localhost ~]$ cd $ORACLE_HOME[oracle@localhost dbhome_1]$ cd network[oracle@ ...
- SQL Server如何提高数据库备份的速度
对于一个数据库完整备份来说,备份的速度很大程度上取决于下面两个因素:读磁盘数据.日志文件的吞吐量,写磁盘数据文件的吞吐量. 下图是备份过程中磁盘的变化情况: 读吞吐量 读吞吐量的大小取决于磁盘读取数据 ...
- iOS 9 failed for URL: "XXX://@" - error: "This app is not allowed to query for scheme XXX" iOS 从APP里启动另一APP
iOS 从C APP里启动 D APP 首先在D APP里设置 URL Schemes 在info.plist 文件里添加URL Schemes URL Types -->item0 --> ...
- ubuntu 16.04 U盘多媒体不自动弹出
如下图: 设置 --> 详细信息 --> 可移动媒体 来自为知笔记(Wiz)
- 如何利用OCS缓存TomcatSession全局变量(转)
转: 首先非常感谢阿里云给我们提供了一个如此省事的平台. 我们公司是一家物流公司,主要提供运输和仓储的服务.我们现在正在把我们的系统往阿里云迁移.当然,还在迁移过程中,所以还有很多是没办法现在说得太清 ...
- Git教程学习(五)
14. 解决冲突 14.1. 场景 当分支A和分支B在同一个文件上都有修改时会出现冲突.常见的情况是从master分支的基础上生成了新分支dev,然后在dev上进行了修改并add&commit ...
- ios开发中的Swift面向对象
iOS在现代计算机语言中,面向对象是非常重要的特性,Swift语言也提供了面向对象的支持.而且在Swift语言中,不仅类具有面向对象特性,结构体和枚举也都具有面向对象特性. 1.Swift中的类和结构 ...
- fresco Bitmap too large to be uploaded into a texture
fresco加载图片方法 布局文件引入 xmlns:fresco="http://schemas.android.com/apk/res-auto" <com.faceboo ...
- Win7 安装Apache 2.2.4报错:<OS 5>拒绝访问. :Failed to open the WinNT service manager
Apache 2.2安装档与win7的“用户账户控制”冲突,所以只要先关闭,安装完后再开启即可. 重启,然后再重新安装Apache2.2.4,没有出现错误.然后再把上述设置改回去. 参考:http:/ ...