使用python 自动下载http目录下的所有文件,并创建对应的目录结构

本文介绍了一种使用Python的httplib库从HTTPS服务器下载文件的方法,并通过正则表达式解析目录链接,实现对远程目录结构的递归下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import httplib
import re
import os
conn = httplib.HTTPSConnection("af.hikvision.com.cn")

def downloadDstFile(dirName,fileName,fullUrl):
    print "start down load file ",fileName,fullUrl
    conn.request("GET", fullUrl)
    fileDataResponse = conn.getresponse()
    with open(os.path.join(dirName,fileName),"wb") as f:
        f.write(fileDataResponse.read())
        
def getFullDirToLocal(rootUrl,rootDir):
    conn.request("GET", rootUrl)
    response = conn.getresponse().read()
    subUrls = re.findall(r'<a.*?href="(.*?)">(.*?)</a>', response)
    for singleUrl in subUrls:
        if singleUrl[1] != "../":
            if singleUrl[1][-1] != "/":
                downloadDstFile(rootDir,singleUrl[1],rootUrl+singleUrl[1])
            else:
                if not os.path.exists(rootDir+singleUrl[1]):            
                    os.mkdir(rootDir+singleUrl[1])
                getFullDirToLocal(rootUrl+str(singleUrl[1]),rootDir+singleUrl[1])
            
getFullDirToLocal("/artifactory/list/sbmc-release/public-lib/","./")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小竹浮生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值