python如何递归下载文件夹下所有文件-创新互联
这篇文章主要介绍python如何递归下载文件夹下所有文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
最近想备份网站,但是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://azwzsj.com/article/pcghi.html">http://azwzsj.com/article/pcghi.html</a> </div> </div> <div class="contentr fr"> <h3>其他资讯</h3> <ul> <li> <a href="/article/jogpdj.html">this关键字如何正确的在java中使用</a> </li><li> <a href="/article/jogjhp.html">电脑关机后自动重启如何解决</a> </li><li> <a href="/article/jogjpp.html">Ubuntu下如何安装MySQL获得mysql.h建立C接口</a> </li><li> <a href="/article/jogjps.html">python中文大写怎么转阿拉伯数字</a> </li><li> <a href="/article/joggji.html">win7系统网络不被识别怎么解决</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.lsfdjwx.com/" title="lsfdjwx.com" target="_blank">lsfdjwx.com</a> <a href="http://www.xinhua2016.com/" title="新华建筑装饰" target="_blank">新华建筑装饰</a> <a href="http://www.scpingwu.com/" title="四川平武网站建设" target="_blank">四川平武网站建设</a> <a href="http://m.cdcxhl.cn/dingzhi/ " title="高端定制网站建设" target="_blank">高端定制网站建设</a> <a href="http://www.scarg.cn/" title="成都艾瑞格" target="_blank">成都艾瑞格</a> <a href="https://www.scvps.cn/" title="主机租用" target="_blank">主机租用</a> <a href="http://www.cdxwcx.cn/tuoguan/jianyang.html" title="简阳电信服务器托管" target="_blank">简阳电信服务器托管</a> <a href="http://www.ruijiemsc.com/" title="四川瑞杰" target="_blank">四川瑞杰</a> <a href="http://www.ruijiemsc.com/" title="瑞杰企业管理" target="_blank">瑞杰企业管理</a> <a href="https://www.cdxwcx.com/400/" title="400电话办理" target="_blank">400电话办理</a> </div> </div> </div> <div class="copy container"> Copyright © 2024 All Rights Reserved. 四川阿坝州网站建设公司 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2024099935号-3 </a> [原创设计,独立版权。未经许可.不得拷贝或镜像]<br> <a href="http://www.kswsj.cn/" target="_blank">网站营销推广</a> | <a href="https://www.cdcxhl.com/pinpai.html" target="_blank">品牌网站设计</a> | <a href="http://www.cdweb.net/" target="_blank">自适应网站建设</a> | <a href="http://cdkjz.cn/wangzhan/pinpai/" target="_blank">品牌网站建设</a> | <a href="http://chengdu.cdxwcx.cn/" target="_blank">成都网站制作</a> | <a href="https://www.cdcxhl.com/cloud/" target="_blank">云服务器</a> | <a href="https://www.cdcxhl.com/weihu/jiangan.html" target="_blank">阿坝州网站维护</a> | (阿坝州网站建设QQ : 631063699 )</div> </footer> <!--在线咨询--> <div class="fot"> <ul> <li> <a href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" target="_blank"> <img src="/Public/Home/img/fot1.png" alt="建站咨询"> <p>在线咨询</p> </a> </li> <li> <a href="tel:18980820575" target="_blank"> <img src="/Public/Home/img/fot2.png" alt="建站电话"> <p>拨打电话</p> </a> </li> </ul> </div> </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>