189 8069 5689

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>
            标题链接:<a href="http://ptruijie.cn/article/pcghi.html">http://ptruijie.cn/article/pcghi.html</a>
        </div>
    </div>
    <div class="other">
        <h3>其他资讯</h3>
        <ul>
            <li>
                    <a href="/article/hhhjhp.html">脚本中怎么调用mysql 运行脚本的方法</a>
                </li><li>
                    <a href="/article/hhhpog.html">linux归档命令实例 linux归档压缩命令</a>
                </li><li>
                    <a href="/article/hhhjhg.html">Java代码显示行 java显示语句</a>
                </li><li>
                    <a href="/article/hhhpdd.html">知乎后端是go语言 知乎后端是go语言嘛</a>
                </li><li>
                    <a href="/article/hhhjgc.html">python在mat函数 python生成mat文件</a>
                </li>        </ul>
    </div>
</div>
<footer>
  <div class="foot container">
    <div class="footl fl">
      <h3>联系我们</h3>
      <dl>
        您好HELLO!<br>
        感谢您来到新都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们,

        我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
      </dl>
      <ul>
        <li>电话:028- <span>86922220 18980695689</span></li>
        <li>商务合作邮箱:631063699@qq.com</li>
        <li>合作QQ: 532337155</li>
        <li>成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼</li>
      </ul>
    </div>
    <div class="footr fr">
      <h3>广皓图文建站工作室</h3>
      <dl>
        新都广皓图文网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。

        我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,广皓图文建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!
      </dl>
      <h3>广皓观点</h3>
      <dl>
        相对传统的新都网站建设公司而言,广皓图文是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。<br>
        我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。
      </dl>
    </div>
  </div>
  <div class="link">
    <div class="container"> <span> 友情链接:</span>
        <a href="http://www.cdkjz.cn/fangan/finance/" title="金融行业网站建设方案" target="_blank">金融行业网站建设方案</a>   <a href="http://www.hksctrade.com/" title="成都服务器托管" target="_blank">成都服务器托管</a>   <a href="http://www.zxyucheng.com/" title="成都柴油发电机维修" target="_blank">成都柴油发电机维修</a>   <a href="http://www.cqcxhl.com/service/foreigntrade.html" title="重庆外贸网站建设" target="_blank">重庆外贸网站建设</a>   <a href="https://www.cdxwcx.com/city/jiangyou/" title="江油网站建设" target="_blank">江油网站建设</a>   <a href="http://www.cdxwcx.cn/tuoguan/xiyun.html" title="成都移动服务器托管" target="_blank">成都移动服务器托管</a>   <a href="http://www.cdhuace.com/zhuangxiu.html" title="成都铺面装修" target="_blank">成都铺面装修</a>   <a href="https://www.cdcxhl.com/pinpai.html" title="成都品牌网站建设" target="_blank">成都品牌网站建设</a>   <a href="http://m.cdxwcx.com/xibuxinxi.html" title="西部信息中心" target="_blank">西部信息中心</a>   <a href="http://www.cxjianzhan.com/custom/" title="建站定制开发" target="_blank">建站定制开发</a>       </div>
  </div>
  <div class="copy"> © Copyright 2023 <a href="http://www.ptruijie.cn">广皓图文建站工作室</a>All Rights Reserved.  <a href="http://beian.miit.gov.cn" target="_blank" rel="nofollow">蜀ICP备2021004003号-2</a>  <a href="https://www.cdxwcx.com" target="_blank">成都网站建设</a> / <a href="https://www.cdxwcx.com" target="_blank">成都网站建设</a> / <a href="https://www.cdxwcx.com" target="_blank">响应式网站建设</a> / <a href="https://www.cdcxhl.com" target="_blank">成都网站设计</a>  <a href="https://www.cdcxhl.com/service/weihu.html" target="_blank">成都网站维护</a> <a href="https://www.cdcxhl.com/news/" target="_blank">其他新闻分类</a> </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>