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://myzitong.com/article/pcghi.html">http://myzitong.com/article/pcghi.html</a>
            </div>
        </div>
        <div class="contentr fr">
            <h3>其他资讯</h3>
            <ul>
                <li>
                        <a href="/article/shipgh.html">兰州抖音代运营有哪些</a>
                    </li><li>
                        <a href="/article/shippg.html">徐汇区抖音代运营</a>
                    </li><li>
                        <a href="/article/shipsj.html">抖音代运营:全面的十二大运营技巧!</a>
                    </li><li>
                        <a href="/article/shippc.html">4s店短视频运营方案(4s店短视频运营方案)</a>
                    </li><li>
                        <a href="/article/shipgj.html">抖音账号短视频营销认可小七问,抖音账号短视频营销策略</a>
                    </li>            </ul>
        </div>
    </div>
</div>
<!--底部-->
<footer>
    <div class="foot">
        <div class="container">
            <h1>梓潼大橙子建站您身边的网站制作服务商</h1>
            <div class="foot1">
                <ul>
                    <li>
                        <dl><i class="iconfont"></i><b>地址ADDRESS</b></dl>
                        <p>四川-成都青羊区太升南路288号<br>
                            锦天国际A座10楼
                        </p>
                    </li>
                    <li>
                        <dl><i class="iconfont"></i><b>电话/TEL</b></dl>
                        <p><a href="tel:02886922220" target="_blank">028 86922220</a> (工作日)<br>
                            <a href="tel:18980820575" target="_blank">1898082 0575</a> ( 7x24 )
                        </p>
                    </li>
                    <li>
                        <dl><i class="iconfont"></i><b>QQ咨询</b></dl>
                        <p> 244261566 (售前)<br>
                            631063699 (售后)
                        </p>
                    </li>
                    <li>
                        <dl><i class="iconfont"></i><b>邮箱/E: mail</b></dl>
                        <p> service@cdcxhl.com (业务)<br>
                            hr@cdcxhl.com (求职)
                        </p>
                    </li>
                </ul>
            </div>
            <div class="link">
                友情链接:
                <a href="http://www.ybwzjz.com/" title="宜宾网站营销推广" target="_blank">宜宾网站营销推广</a>   <a href="http://www.kswsj.cn/tuiguang/" title="网站优化排名" target="_blank">网站优化排名</a>   <a href="http://m.cdcxhl.cn/dingzhi/
" title="高端定制网站建设" target="_blank">高端定制网站建设</a>   <a href="https://www.cdcxhl.com/zuyong/meishan.html" title="眉山服务器租用" target="_blank">眉山服务器租用</a>   <a href="http://www.scyingshan.cn/" title="营山网站建设" target="_blank">营山网站建设</a>   <a href="https://www.cdcxhl.com/ssl/chengdu.html" title="域名ssl证书" target="_blank">域名ssl证书</a>   <a href="https://www.cdxwcx.com/wangzhan/app.html" title="app开发公司" target="_blank">app开发公司</a>   <a href="http://www.lswzjz.com/" title="乐山网站建设" target="_blank">乐山网站建设</a>   <a href="http://www.cqcxhl.com/" title="网站设计" target="_blank">网站设计</a>   <a href="http://www.kswcd.com/mobile/" title="手机网站建设" target="_blank">手机网站建设</a>               </div>
        </div>
    </div>
    <div class="copy container">
        Copyright