python如何递归下载文件夹下所有文件-创新互联

这篇文章主要介绍python如何递归下载文件夹下所有文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联公司-专业网站定制、快速模板网站建设、高性价比印台网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式印台网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖印台地区。费用合理售后完善,10年实体公司更值得信赖。

最近想备份网站,但是php下载文件的大小是有大小限制的,而我也懒得装ftp再下载了,就想着暂时弄个二级域名站,然后用python(python3)的requests库直接下载网站根目录下的所有文件以及文件夹。(0-0就是这么任性)

1.安装requests库

pip install requests

2.下载文件夹下所有文件及文件夹

这里需要处理的地方主要是文件夹,这里我们判断出该链接是文件夹时,自动创建文件夹,并递归继续进行操作,否则判断该链接是文件,直接使用requests get方法下载,话不多说,看代码

####春江暮客 www.bobobk.com
import requests
import re
import os
import sys
def help(script):
 text = 'python3 %s https://www.bobobk.com ./' % script

 print(text)
def get_file(url,path):##文件下载函数
  content = requests.get(url)
  print("write %s in %s" % (url,path))
  filew = open(path+url.split("/")[-1],'wb')
  for chunk in content.iter_content(chunk_size=512 * 1024): 
    if chunk: # filter out keep-alive new chunks
      filew.write(chunk)
  filew.close()
def get_dir(url,path): #文件夹处理逻辑
  content = requests.get(url).text
  if "Index of" in content:
    sub_url = re.findall('href="(.*?)" rel="external nofollow" ',content)
  
    print(sub_url)
    for i in sub_url:
      if "/" in i:
      
        i = i.split("/")[0]
        print(i)
        if i!="." and i!="..":
          
          if not os.direxists(path+i):
            os.mkdir(path+i)
         
          get_dir(url+"/"+i,path+i+"/")
          print("url:"+url+"/"+i+"\nurl_path:"+path+i+"/")
      else:
        get_file(url+"/"+i,path)
  else:
    get_file(url,path)
if __name__ == '__main__':
 if not sys.argv[1]:
 help(sys.argv[0])
 exit(0)
 else:
 get_dir(sys.argv[1],"./")</pre><p>至此,就在本地目录完全还原下载原网站的路径和文件了。</p><p>以上是“python如何递归下载文件夹下所有文件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!</p>            <br>
            文章题目:python如何递归下载文件夹下所有文件-创新互联            <br>
            网站URL:<a href="http://lszwz.com/article/pcghi.html">http://lszwz.com/article/pcghi.html</a>
        </div>
    </div>
    <div class="other">
        <h3>其他资讯</h3>
        <ul>
            <li>
                    <a href="/article/dsohcig.html">关于css共通样式的信息</a>
                </li><li>
                    <a href="/article/dsohcso.html">css样式dd,css样式display</a>
                </li><li>
                    <a href="/article/dsohcie.html">html5弹出提示框的简单介绍</a>
                </li><li>
                    <a href="/article/dsohcej.html">js可以开发鸿蒙,鸿蒙用java开发</a>
                </li><li>
                    <a href="/article/dsohcip.html">flutter的词意,flutter用法</a>
                </li>        </ul>
    </div>
</div>
<div class="f_service_con">
    <div class="h_fumin">
        <div class="h_fumin_lei">
            <div class="h_fumin_lei_tu"><img src="/Public/Home/images/f_service01.png"></div>
            <p>售后响应及时</p><span>7×24小时客服热线</span>
        </div>
        <div class="h_fumin_lei">
            <div class="h_fumin_lei_tu"><img src="/Public/Home/images/f_service02.png"></div>
            <p>数据备份</p><span>更安全、更高效、更稳定</span>
        </div>
        <div class="h_fumin_lei">
            <div class="h_fumin_lei_tu"><img src="/Public/Home/images/f_service03.png"></div>
            <p>价格公道精准</p><span>项目经理精准报价不弄虚作假</span>
        </div>
        <div class="h_fumin_lei">
            <div class="h_fumin_lei_tu"><img src="/Public/Home/images/f_service04.png"></div>
            <p>合作无风险</p><span>重合同讲信誉,无效全额退款</span>
        </div>
    </div>
</div>
<div class="footerbar">
    <div class="footer-t">
        <div class="f-box">
            <div class="f-1">
                <div class="f-t">
                    <h2>联系我们</h2>
                    <span>TEL</span>
                </div>
                <div class="f-b">
                    <h1><a href="tel:13518219792" rel="nofollow">135-1821-9792</a></h1>
                    <h1><a href="tel:028-86922220" rel="nofollow">028-86922220</a></h1>
                    <p>地址:乐山市太升南路288号锦天国际</p>

                </div>
            </div>
            <div class="f-2">
                <div class="f-t">
                    <h2>快捷导航</h2>
                    <span>Shortcut</span>
                </div>
                <div class="f-b">
                    <ul >
                    </ul>
                    <ul >
                        <li><a href="/jianshe" title="乐山网站建设">乐山网站建设</a></li>
                        <li><a href="/jianshe#ym_websiteBox2" title="品牌网站建设">品牌网站建设</a></li>
                        <li><a href="/jianshe#ym_websiteBox1" title="企业网站建设">企业网站建设</a></li>
                        <li><a href="/jianshe#ym_websiteBox4" title="集团网站建设">集团网站建设</a></li>
                        <li><a href="/jianshe#ym_websiteBox4_2" title="外贸网站建设">外贸网站建设</a></li>
                        <li><a href="/jianshe#ym_websiteBox4_5" title="企业宣传视频">企业宣传视频</a></li>
                    </ul>
                    <ul >
                        <li><a href="/weixin" title="微信开发">微信开发</a></li>
                        <li><a href="/weixin#item1" title="公众号开发">公众号开发</a></li>
                        <li><a href="/weixin#item2" title="微商城建设">微商城建设</a></li>
                        <li><a href="/weixin#item3" title="微官网建设">微官网建设</a></li>
                        <li><a href="/weixin#item4" title="小程序开发">小程序开发</a></li>
                    </ul>
                    <ul>
                        <li><a href="/case/" title="网站作品案例">网站作品案例</a></li>
                        <li><a href="/case/" title="品牌网站案例">品牌网站案例</a></li>
                        <li><a href="/case/" title="集团网站案例">集团网站案例</a></li>
                        <li><a href="/case/" title="企业网站案例">企业网站案例</a></li>
                        <li><a href="/case/" title="外贸网站案例">外贸网站案例</a></li>
                        <li><a href="/case/" title="营销网站案例">营销网站案例</a></li>
                    </ul>
                    <ul style="margin:0;">
                        <li><a href="/about/">小谭建站</a></li>
                        <li><a href="/about/">公司简介</a></li>
                        <li><a href="/about#ab_item3">企业文化</a></li>
                        <li><a href="/contact">联系我们</a></li>
                        <li><a href="/Pay.html">付款方式</a></li>
                        <li><a href="/jianshe#ym_websiteBox8">售后服务</a></li>
                    </ul>
                    <div style="clear:both;"></div>
                </div>
            </div>
            <div class="f-3">
                <div class="f-t">
                    <h2>二维码</h2>
                    <span>QR CODE</span>
                </div>
                <div class="f-b">
                    <ul>
                        <li><img src="/Public/Home/images/fewm.png">
                            <p>微信公众号</p>
                        </li>
                        <li style="margin: 0"><img src="/Public/Home/images/fewm2.png">
                            <p>手机端网站</p>
                        </li>
                        <div style="clear:both;"></div>
                    </ul>
                </div>
            </div>
            <div style="clear:both;"></div>
        </div>
    </div>
    <div class="footer-about">
        <div class="w1200">乐山小谭建站工作室是一家专注从事于高品质视觉体验及互联网设计开发,<a href="/" target="_blank">乐山网站建设</a>,<a
                href="/jianshe" target="_blank">乐山网站设计</a>,<a href="/jianshe" target="_blank">乐山网页设计</a>,<a
                href="/jianshe" target="_blank">乐山网站制作</a>,<a href="/jianshe#ym_websiteBox2"
                                                              target="_blank">品牌网站建设</a>,<a href="/jianshe#ym_websiteBox3" target="_blank">营销网站建设</a>,<a
                href="/jianshe#ym_websiteBox4" target="_blank">集团网站建设</a>,<a href="/jianshe#ym_websiteBox1"
                                                                             target="_blank">企业网站建设</a>,<a href="/jianshe#ym_websiteBox4_2" target="_blank">外贸网站建设</a>,<a
                href="/jianshe#ym_websiteBox4_3" target="_blank">响应式网站建设</a>,<a href="/weixin#item4"
                                                                                target="_blank">小程序开发</a>,<a href="/weixin" target="_blank">微信开发</a>,<a
                href="/jianshe#ym_websiteBox4_4" target="_blank">企业形象设计</a>,<a href="/jianshe#ym_websiteBox4_5"
                                                                               target="_blank">企业宣传视频</a>等服务,小谭建站位于乐山市龙岗区大运软件小镇,小谭建站拥有经验丰富的高级网站建设工程师和一流的网页高端设计人员,具备各种规模与类型网站建设的雄厚实力,在网站建设领域树立了自己独特的设计风格。
        </div>
        <div class="friend-links">
            <h6 class="clearfix">
                <span class="tilte">友情链接</span>
                <a class="exchagne" href="http://wpa.qq.com/msgrd?v=3&uin=631063699&site=qq&menu=yes">交换友情链接</a>
            </h6>
            <div class="link-list clearfix">
                <div class="link-slider">
                    <a href="http://www.yunjinzhai.com/" title="云锦斋建筑" target="_blank">云锦斋建筑</a>   <a href="http://www.cdxwcx.cn/tuoguan/mianyang.html" title="绵阳电信机房" target="_blank">绵阳电信机房</a>   <a href="http://www.kswcd.com/" title="网站定制" target="_blank">网站定制</a>   <a href="http://www.csruizhi.cn/" title="崇州湖霆科技" target="_blank">崇州湖霆科技</a>   <a href="https://www.cdxwcx.com/city/jiangyou/" title="江油做网站" target="_blank">江油做网站</a>   <a href="http://www.hzlinhua.com/" title="成都茶叶销售" target="_blank">成都茶叶销售</a>   <a href="https://www.cdcxhl.com/douyin/" title="抖音代运营" target="_blank">抖音代运营</a>   <a href="http://www.fadianjisc.cn/" title="四川柴油发电机" target="_blank">四川柴油发电机</a>   <a href="http://www.huifushe.com/" title="石膏隔墙" target="_blank">石膏隔墙</a>   <a href="http://www.cqjike.cn/" title="混凝土搅拌罐车" target="_blank">混凝土搅拌罐车</a>                   </div>
            </div>
        </div>
    </div>
    <div class="footer-b">
        <div class="f-box">
            <ul>
                <li><a href="/jianshe#ym_websiteBox6" target="_blank">服务流程</a></li>
                <li><a href="/jianshe#ym_websiteBox8" target="_blank">售后服务</a></li>
                <li><a href="/about/" target="_blank">联系我们</a></li>
                <li><a href="#" target="_blank">付款方式</a></li>
                <li><a href="#" target="_blank">网站地图</a></li>
                <li><a href="#" target="_blank">sitemap</a></li>
                <li>
                    <p>
                        <script data-cfasync="false" src="/Public/Home/js/email-decode.min.js"></script>
                    </p>
                </li>
                <div style="clear:both;"></div>
            </ul>
            <p class="copy">Copyright © 2022 青羊区小谭信息技术咨询服务工作室 乐山建站工作室 All Rights Reserved   <a href="http://www.miibeian.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2021004003号-25</a>
                <a style="display:none" target="_blank" href="###"><img style="vertical-align:middle" border="0" src="" width="65" height="25" /></a>

            </p>
            <div style="clear:both;"></div>
        </div>
    </div>
    <div class="sj_footer">
        <div class="f-box">
            <ul>
                <li><a href="/jianshe" target="_blank">网站建设</a></li>
                <li><a href="/jianshe#ym_websiteBox6" target="_blank">服务流程</a></li>
                <li><a href="/jianshe#ym_websiteBox8" target="_blank">售后服务</a></li>
                <li><a href="#" target="_blank">付款方式</a></li>
                <li><a href="/about/" target="_blank">关于我们</a></li>
                <li><a href="#" target="_blank">网站地图</a></li>
                <div style="clear:both;"></div>
            </ul>
            <p class="copy">Copyright © 2022 青羊区小谭信息技术咨询服务工作室 乐山建站工作室 </p>
            <p class="copy"> <a href="http://www.miibeian.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2021004003号-25</a>  <a
                    href="###" target="_blank"><img src="/Public/Home/images/govicon.gif" width="20" height="28" border="0" style="border-width:0px;border:hidden; border:none;"></a></p>
            <div style="clear:both;"></div>
        </div>
    </div>
</div>
<script type='text/javascript' src='/Public/Home/js/qqkefu.js'></script>
<div class="qqkefu">
    <ul>
        <li class="qq_czaa" id="130"><b class="a"></b>135-1821-9792</li>
        <li class="qq_czaa" id="130"><a href="tencent://message/?uin=1683211881"><b class="b"></b>业务咨询QQ</a></li>
        <li class="qq_czaa" id="130"><a href="javascript:showDiv()"><b class="f"></b>提交合作意向表</a></li>
        <li class="qq_czb">
            <b class="c"></b>
            <div class="erweima">
                <p><img src="/Public/Home/images/right_erweima.png"></p>
            </div>
        </li>
        <li class="top"><span></span></li>
    </ul>
</div>
<div id="popDiv" class="mydiv" style="display:none;">
    <a class="mydiv_clk" href="javascript:closeDiv()">X</a>
    <div class="mydiv_list">
        <div class="c_f_title"><span class="c_f_t">合作意向表</span></div>
        <div class="c_f_con">
            <form id="form1" name="form1" class="mess_form" method="post" action="/post_order">
                <input name='enews' type='hidden' value='AddFeedback'>
                <input name="bid" value="1" type="hidden">
                <input type="hidden" name="ecmsfrom" value="9">
                <input type="hidden" name='title' value="客户提交需求">
                <li class="c_n"><span>公司名称</span>
                    <dl><input name='gsname' id='gsname' type="text"></dl>
                </li>
                <li class="c_n"><span>邮箱</span>
                    <dl><input name='gemail' id='gemail' type="text"></dl>
                </li>
                <li class="c_n xmm">
                    <div class="xmm_01"><span>姓名</span>
                        <dl class="c_n_i"><input name='name' id='name' type="text"></dl>
                    </div>
                    <div class="xmm_01"><span style="text-align:center">电话</span>
                        <dl class="c_n_i"><input name="tel" type="text"></dl>
                    </div>
                </li>
                <li class="c_tser">您需要的服务</li>
                <li class="clearfix">
                    <dd><label><input type="radio" name='hobby' id='hobby' value="高端网站建设"><span>高端网站建设</span></label></dd>
                    <dd><label><input type="radio" name='hobby' id='hobby' value="我需要做微信营销"><span>我需要做微信营销</span></label></dd>
                    <dd><label><input type="radio" name='hobby' id='hobby' value="要找长期合作,需要年度服务"><span>要找长期合作,需要年度服务</span></label></dd>
                    <dd><label><input type="radio" name='hobby' id='hobby' value="我需要做购物商城"><span>我需要做购物商城</span></label></dd>
                    <dd><label><input type="radio" name='hobby' id='hobby' value="我需要网站改版"><span>我需要网站改版</span></label></dd>
                    <dd><label><input type="radio" name='hobby' id='hobby' value="其他"><span>其他</span></label></dd>
                </li>
                <li class="c_tser">您关注的地方</li>
                <li class="clearfix">
                    <dd><label><input type="radio" name='hobby2' id='hobby2' value="对功能要求比较高"><span>对功能要求比较高</span></label></dd>
                    <dd><label><input type="radio" name='hobby2' id='hobby2' value="对设计创意要求比较高"><span>对设计创意要求比较高</span></label></dd>
                    <dd><label><input type="radio" name='hobby2' id='hobby2' value="需要可以购物支付"><span>需要可以购物支付</span></label></dd>
                    <dd><label><input type="radio" name='hobby2' id='hobby2' value="搜索引擎排名"><span>搜索引擎排名</span></label></dd>
                </li>
                <li class="c_tser">预算</li>
                <li class="clearfix clearfix2">
                    <dd><label><input type="radio" name='hobby3' id='hobby3' value="一万以内"><span>一万以内</span></label>
                    </dd>
                    <dd><label><input type="radio" name='hobby3' id='hobby3' value="1-3万"><span>1-3万</span></label>
                    </dd>
                    <dd><label><input type="radio" name='hobby3' id='hobby3' value="3-5万"><span>3-5万</span></label>
                    </dd>
                    <dd><label><input type="radio" name='hobby3' id='hobby3' value="5万以上"><span>5万以上</span></label>
                    </dd>
                    <dd><label><input type="radio" name='hobby3' id='hobby3' value="需招投标"><span>需招投标</span></label>
                    </dd>
                </li>
                <li class="c_n" style="border-top:1px solid #eee; padding-top:10px"><span>验证码</span>
                    <dl class="c_n_i yzmm"><input type="text" name='code' id='code' value=""></dl><span
                            style="text-align:center"><img src="/Public/Home/images/1661eb19783442c38063791555cd0d80.gif"
                                                           onclick="this.src=this.src + '?'" width="100" height="40"></span>
                </li>
                <li class="clearfix">
                    <dd class="submit"><input name='submit' type="submit" value="提交需求"></dd>
                </li>
            </form>
        </div>
    </div>
</div>
<div id="bg" class="bg" style="display:none;"></div>
<div id='popIframe' class='popIframe' frameborder='0'></div>
<script>
    //提交需求选项
    $(document).ready(function (e) {
        $(".mess_form").submit(function () {
            if ($("#gsname").val() == "") {
                alert("请填写您的公司名称!");
                $("#gsname").focus();
                return false;
            }
            if ($("#gemail").val() == "") {
                alert("请填写您的邮箱");
                $("#gemail").focus();
                return false;
            }
            if ($("#name").val() == "") {
                alert("请填写您的姓名!");
                $("#name").focus();
                return false;
            }
            if ($("#tel").val() == "") {
                alert("请填写您的电话!");
                $("#tel").focus();
                return false;
            }
            if ($("#hobby").val() == "") {
                alert("请选择您需要的服务!");
                $("#hobby").focus();
                return false;
            }
            if ($("#hobby2").val() == "") {
                alert("请选择您关注的地方!");
                $("#hobby2").focus();
                return false;
            }
            if ($("#hobby3").val() == "") {
                alert("请选择您的预算!");
                $("#hobby3").focus();
                return false;
            }
            if ($("#code").val() == "") {
                alert("请填写正确的验证码!");
                $("#code").focus();
                return false;
            }
        });
    });
</script>
<script language="javascript" type="text/javascript">
    //提交需求窗口
    function showDiv() {
        document.getElementById('popDiv').style.display = 'block';
        document.getElementById('popIframe').style.display = 'block';
        document.getElementById('bg').style.display = 'block';
    }
    function closeDiv() {
        document.getElementById('popDiv').style.display = 'none';
        document.getElementById('bg').style.display = 'none';
        document.getElementById('popIframe').style.display = 'none';
    }
</script>
<script type="text/javascript" src="/Public/Home/js/scrolltopcontrol.js"></script>
<script type="text/javascript" src="/Public/Home/js/su_new.js"></script>
</body>
</html>
<script>
    $(".con img").each(function(){
        var src = $(this).attr("src");    //获取图片地址
        var str=new RegExp("http");
        var result=str.test(src);
        if(result==false){
            var url = "https://www.cdcxhl.com"+src;    //绝对路径
            $(this).attr("src",url);
        }
    });
    window.onload=function(){
        document.oncontextmenu=function(){
            return false;
        }
    }
</script>