Python代码练习--批量下载

本文介绍了一个使用Python批量下载静态图片资源的小程序。通过设置样板URL和循环范围,该程序能够生成一系列URL并利用wget工具进行下载。

本文是上一篇的超囧的图片链接批量获取和下载的延续。本文的主要目的在于熟悉Python的各个模块,程序的逻辑十分简单,处理形如http://www.123.com/x/y/z/456.jpg的静态资源 。用法:比如我要在皮皮书屋上下载《C# 4.0 in a Nutshell》的图片资源,那么登录后发现资源的第一页地址为http://static.ppurl.com/images/pdfpreview/4392727/m/0.jpg,那么就把sampleurl设置为这个值,folder设置为本机目录,start设置为0,终点可以设置为一个较大的数,用于完全下载。之后在控制台python one.py执行即可。

ExpandedBlockStart.gif 代码
# -*- coding:utf-8 -*-
import  os
import  time
import  urlparse
import  string  

'''
用于下载资源的小程序
给定样板url设置起止循环点,利用wget批量下载文件。非常适合下载静态图片文件
某些网站经过特殊处理(如登录验证/请求拦截)无法下载
'''

# 样板URL,生成的URL列表以此递增
sampleurl = ' http://static.ppurl.com/images/pdfpreview/4396574/m/0.jpg '
# 保存图片的文件夹(末尾必须带上斜线),程序会在这个目录下新建一个网站目录
folder = ' /home/xgf/wget/ '
# 基准URL循环起点
start = 0
# 基准URL循环终点
end = 30

# 在folder下新建当前网站目录
url = urlparse.urlparse(sampleurl)
base
= folder + url.hostname + ' / '
# 解析文件格式
frags = sampleurl.split( ' / ' )
ext
= frags[len(frags) - 1 ].split( ' . ' )[ 1 ]
baseurl
= ' / ' .join(frags[: - 1 ])
if   not  os.path.isdir(folder):
    os.mkdir(folder)
if   not  os.path.isdir(base):
    os.mkdir(base)
os.chdir(base)

# 根据设置的URL的起点与终点生成批量URL地址,保存到文本文件中。
now = time.localtime()
filelist
= ' urls-{0}{1}{2}{3}{4}.txt ' .format(now[ 1 ],now[ 2 ],now[ 3 ],now[ 4 ],now[ 5 ])
f
= open(base + filelist, ' w ' )
for  x  in  xrange(start,end, 1 ):
    f.write(
' {0}/{1}.{2}\n ' .format(baseurl,x,ext))
f.close()
os.system(
' wget -i  ' + filelist)

# 如果不希望保存URL列表则删除文件
#
os.remove(base+filelist)
     


 


转载于:https://www.cnblogs.com/1000/archive/2011/01/04/python_batch_download.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值