我们专注孝感网站设计 孝感网站制作 孝感网站建设
成都网站建设公司服务热线:18982081108

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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://www.ytofo.com/article/pcghi.html">http://www.ytofo.com/article/pcghi.html</a>
        </div>
    </div>
    <div class="other">
        <h3>其他资讯</h3>
        <ul>
            <li>
                    <a href="/article/echi.html">如何选择好用的菲律宾服务器</a>
                </li><li>
                    <a href="/article/esdj.html">怎么让自己网站出现在百度搜索结果右侧相关展现?</a>
                </li><li>
                    <a href="/article/esdh.html">怎么看待百度系列产品排名好</a>
                </li><li>
                    <a href="/article/ecpj.html">云服务器入门3个技巧您知道吗</a>
                </li><li>
                    <a href="/article/esdd.html">一个月话费多少正常(一个月话费50元正常吗)</a>
                </li>        </ul>
    </div>
</div>
<footer>
    <div class="message">
        <div class="mess container">
            <p>免费获取网站设计制作与品牌网站建设策划方案报价</p>
            <span>网站设计 + 品牌建站,策划方案 + 精准报价,现在免费领!品牌要升级,官网先发力!免费领取网站设计制作方案 + 精准报价,专业团队帮你落地</span>
            <form action="">
                <input type="text" class="ipt1" placeholder="联系人">
                <input type="text" class="ipt2" placeholder="联系电话">
                <textarea name="" id=""  placeholder="内容描述:描述您的需求,如网站、微信、电商、APP等。"></textarea>
                <a href="">提交需求</a>
            </form>
        </div>
    </div>
    <div class="footA">
        <div class="footAs container">
            <ul>
                <h3>联系我们</h3>
                <b>18980820575</b>
                <li>手机:13518219792</li>
                <li>地址:湖北孝感市大悟城关镇鄂北物流城13栋125号</li>
                <li class="hr1"></li>
                <li>24小时服务热线:18982081108</li>
            </ul>
            <ul>
                <h3>网站建设服务</h3>
                <li>网页设计</li>
                <li>网站制作</li>
                <li>网站开发</li>
            </ul>
            <ul>
                <h3>网站推广服务</h3>
                <li>营销网站建设</li>
                <li>百度快速排名</li>
                <li>整站网站推广</li>
            </ul>
            <ul>
                <h3>网站运维服务</h3>
                <li>基础维护</li>
                <li>网站改版</li>
                <li>网站维护</li>
            </ul>
            <ul>
                <h3>FOLLOW US</h3>
                <li class="hr2"></li>
                <li>
                    <dd class="fl"><img src="/Public/Home/img/ewm.png" alt=""><p>微信二维码</p></dd>
                    <dd class="fr"><img src="/Public/Home/img/ewm.png" alt=""><p>微信二维码</p></dd>
                </li>
            </ul>
        </div>
        <div class="link container">
            友情链接:
            <a href="http://www.juefynz.com/" title="成都门头灯箱" target="_blank">成都门头灯箱</a>   <a href="http://www.lianruivr.com/" title="成都发电机组供应商" target="_blank">成都发电机组供应商</a>   <a href="http://www.bzeoc.com/" title="成都工商注册" target="_blank">成都工商注册</a>   <a href="http://www.prjuhc.com/" title="成都发光字制作厂家" target="_blank">成都发光字制作厂家</a>   <a href="http://seo.cdcxhl.cn/wztg/" title="成都外贸网站优化" target="_blank">成都外贸网站优化</a>   <a href="http://www.zfdianli.com/" title="四川柴油发电机" target="_blank">四川柴油发电机</a>   <a href="https://www.cdxwcx.com/jifang/yaan.html" title="川西大数据中心" target="_blank">川西大数据中心</a>   <a href="http://www.scfdjgs.com/" title="四川发电机公司" target="_blank">四川发电机公司</a>   <a href="http://www.scbrznjsb.com/mobile/" title="成都app制作" target="_blank">成都app制作</a>   <a href="http://www.jyfdjwx.com/" title="简阳威斯达宇" target="_blank">简阳威斯达宇</a>           </div>
    </div>
    <div class="footB">
        <div class="container">
            <div class="fl">
                Copyright © 2025  湖北孝感网站建设公司     湖北孝感网站建设公司-选我们!湖北专业的孝感网站制作公司!
            </div>
            <div class="fr">
                All Rights Reserved 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">鄂ICP备2025125038号-8</a>
            </div>
        </div>
    </div>
</footer>
</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>