• Python代码练习批量下载


    本文是上一篇的超囧的图片链接批量获取和下载的延续。本文的主要目的在于熟悉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执行即可。

    代码
    #-*- 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)
         



  • 相关阅读:
    手动安装cockpit(linux web consol)
    fedora 安装apc smart750 UPS
    windows自动登录和域电脑自动登录域
    docker常用命令
    samba
    ETF:pcf文件制作
    ETF计算公司:现金差额
    ETF参数:现金替代标志
    ETF计算公式:IOPV
    ETF:现金替代标志
  • 原文地址:https://www.cnblogs.com/1000/p/python_batch_download.html
Copyright © 2020-2023  润新知