[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; ...
随机推荐
- 【由VerySky原创】由Number Range 导致凭证生成但无法保存的问题
工厂正常生产,但某天突然发生车辆下线失败销售入库报错( MFBF凭证不能保存\ 下线车无法产生131 )的问题: ST22发现程序dump信息 分析 | SAPSQL_ARRAY_INSERT_DUP ...
- solr详解,开发必备
1.基础知识 创建索引的过程如下: (1).建立索引器IndexWriter,这相当于一本书的框架 (2).建立文档对象Document,这相当于一篇文章 (3).建立信息字段对象Field,这相当于 ...
- 努力学习 HTML5 (1)—— 初体验
HTML5 代表未来:W3C ( World Wide Web Consortium, 万维网联盟) 已经放弃 XHTML,从而使 HTML5 成为正式标准并得到认可. 最简单的 HTML5 文档 & ...
- Scala access modifiers and qualifiers in detail
来自:http://www.jesperdj.com/2016/01/08/scala-access-modifiers-and-qualifiers-in-detail/ Just like Jav ...
- 查看Oracle数据库的用户名和密码
运行 cmd 按如下输入命令 sqlplus / as sysdba ---------以sys登陆 超级用户(sysdba) alter user 用户名 account unlo ...
- IOS UISearchDisplayController 点击搜索出现黑条问题解决方案
最近项目遇到一个很奇葩的问题 点击按钮启动 presentViewController 的时候出现下图效果: 代码: AddFriendViewController *addFriendVC = [[ ...
- webService----wsimport调用方式
一.工具 1.myEclipse 2.jdk1.7 二.创建服务端 1.创建web Service Project 命名为TheService 2.创建class类ServiceHello.java, ...
- Android判断当前线程是否是主线程的方法
开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法: 方 ...
- highcharts插件使用总结和开发中遇到的问题及解决办法
这里使用的highchart是2014-01-09从官网下载的版本,版本号是3.0.8, 当过了几天后,发现版本号变成了3.0.9,不由得的感叹highchart的版本更新之快. 在jsp中使用hig ...
- [转载]BW增量更新的理解(时间戳)
在BW中,存在两种数据抽取方式,完全更新与增量更新,完全更新是每次把截至到某个时间的数据全部抽取,增量抽取则只抽取上次和本次抽取之间更新的数据,很显然,增量抽取能够提高系统效率,根据SAP帮 助的说法 ...