一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

python递归下载文件夹下所有文件实例

时间:2019-08-31 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下python递归下载文件夹下所有文件实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

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>
                </div>

                
                                <div class="pages art-detail">
                    
                </div>
                
                
                
                
                <ul class="TurnPage">
    <li class="TurnPage-left">
        <p>
            <span>上一个:</span>
                            <a href="https://www.111com.net/phper/177068.htm" class="maxWidth">Python如何实现Restful API Python实现Restful API实例</a>
                    </p>
    </li>
    <li class="TurnPage-right">
        <p>
            <span>下一个:</span>
                            <a href="https://www.111com.net/phper/177072.htm" class="maxWidth">php数组遍历类与用法</a>
                    </p>
    </li>
</ul>
                
                                <div class="articles">
                    <div class="tit02">
                        <h4>相关文章</h4>
                    </div>
                    <ul>
                                                <li>
                            <a target="_blank" href="https://www.111com.net/phper/225272.htm">Golang ProtoBuf的基本语法详解</a>
                            <span>10-20</span>
                        </li>
                                                <li>
                            <a target="_blank" href="https://www.111com.net/phper/225253.htm">Python识别MySQL中的冗余索引解析</a>
                            <span>10-20</span>
                        </li>
                                                <li>
                            <a target="_blank" href="https://www.111com.net/phper/224372.htm">Python+Pygame绘制小球代码展示</a>
                            <span>10-18</span>
                        </li>
                                                <li>
                            <a target="_blank" href="https://www.111com.net/phper/224341.htm">Python中的数据精度问题介绍</a>
                            <span>10-18</span>
                        </li>
                                                <li>
                            <a target="_blank" href="https://www.111com.net/phper/224332.htm">Python随机值生成的常用方法介绍</a>
                            <span>10-18</span>
                        </li>
                                                <li>
                            <a target="_blank" href="https://www.111com.net/phper/218290.htm">python3解压缩.gz文件分析</a>
                            <span>09-27</span>
                        </li>
                                            </ul>
                </div>
                
                
                
                    
                    
                
            </div>
        </div>
    </div>
</div>

<div class="hot-column">
    <div class="cont">
        <div class="tit">
            <h4>热门栏目</h4>
        </div>
        <ul class="clearfix">
            <li>
                <h6><a href="https://www.111com.net/phper/php.html" target="_blank">php教程</a></h6>
                <a href="https://www.111com.net/list-45/" target="_blank">php入门</a>
                <a href="https://www.111com.net/list-46/" target="_blank">php安全</a>
                <a href="https://www.111com.net/list-47/" target="_blank">php安装</a>
                <a href="https://www.111com.net/list-48/" target="_blank">php常用代码</a>
                <a href="https://www.111com.net/list-49/" target="_blank">php高级应用</a>
            </li>
            <li>
                <h6><a href="https://www.111com.net/net/net.html" target="_blank">asp.net教程</a></h6>
                <a href="https://www.111com.net/list-78/" target="_blank">基础入门</a>
                <a href="https://www.111com.net/list-79/" target="_blank">.Net开发</a>
                <a href="https://www.111com.net/list-80/" target="_blank">C语言</a>
                <a href="https://www.111com.net/list-81/" target="_blank">VB.Net语言</a>
                <a href="https://www.111com.net/list-82/" target="_blank">WebService</a>
            </li>
            <li>
                <h6><a href="https://www.111com.net/sj/index.html" target="_blank">手机开发</a></h6>
                <a href="https://www.111com.net/list-208/" target="_blank">安卓教程</a>
                <a href="https://www.111com.net/list-209/" target="_blank">ios7教程</a>
                <a href="https://www.111com.net/list-210/" target="_blank">Windows Phone</a>
                <a href="https://www.111com.net/list-211/" target="_blank">Windows Mobile</a>
                <a href="https://www.111com.net/list-212/" target="_blank">手机常见问题</a>
            </li>
            <li>
                <h6><a href="https://www.111com.net/cssdiv/css.html" target="_blank">css教程</a></h6>
                <a href="https://www.111com.net/list-99/" target="_blank">CSS入门</a>
                <a href="https://www.111com.net/list-100/" target="_blank">常用代码</a>
                <a href="https://www.111com.net/list-101/" target="_blank">经典案例</a>
                <a href="https://www.111com.net/list-102/" target="_blank">样式布局</a>
                <a href="https://www.111com.net/list-103/" target="_blank">高级应用</a>
            </li>
            <li>
                <h6><a href="https://www.111com.net/wy/yw.html" target="_blank">网页制作</a></h6>
                <a href="https://www.111com.net/list-136/" target="_blank">设计基础</a>
                <a href="https://www.111com.net/list-137/" target="_blank">Dreamweaver</a>
                <a href="https://www.111com.net/list-138/" target="_blank">Frontpage</a>
                <a href="https://www.111com.net/list-139/" target="_blank">js教程</a>
                <a href="https://www.111com.net/list-140/" target="_blank">XNL/XSLT</a>
            </li>
            <li>
                <h6><a href="https://www.111com.net/office/index.html" target="_blank">办公数码</a></h6>
                <a href="https://www.111com.net/list-236/" target="_blank">word</a>
                <a href="https://www.111com.net/list-237/" target="_blank">excel</a>
                <a href="https://www.111com.net/list-238/" target="_blank">powerpoint</a>
                <a href="https://www.111com.net/list-239/" target="_blank">金山WPS</a>
                <a href="https://www.111com.net/list-240/" target="_blank">电脑新手</a>
            </li>
            <li>
                <h6><a href="https://www.111com.net/jsp/jsp.html" target="_blank">jsp教程</a></h6>
                <a href="https://www.111com.net/list-68/" target="_blank">Application与Applet</a>
                <a href="https://www.111com.net/list-69/" target="_blank">J2EE/EJB/服务器</a>
                <a href="https://www.111com.net/list-70/" target="_blank">J2ME开发</a>
                <a href="https://www.111com.net/list-71/" target="_blank">Java基础</a>
                <a href="https://www.111com.net/list-72/" target="_blank">Java技巧及代码</a>
            </li>
        </ul>
    </div>
</div>


<div class="footer">
    <div class="cont">
        <p>
            <a href="https://www.111com.net/" target="_self">一聚教程网</a>|
            <a href="https://www.111com.net/us/us.html" class="about" target="_self">关于我们</a>|
            <a href="https://www.111com.net/us/me.html" class="contact" target="_self">联系我们</a>|
            <a href="https://www.111com.net/us/ads.html" class="gg_contact" target="_self">广告合作</a>|
            <a href="https://www.111com.net/us/link.html" class="friend_link" target="_self">友情链接</a>|
            <a href="https://www.111com.net/us/bcinfo.html" class="copyright_notice" target="_self">版权声明</a>
        </p>
        <p>
            <span>copyRight@2007-2024 www.111COM.NET AII Right Reserved <a href="https://beian.miit.gov.cn/" target="_blank" class="beian">苏ICP备17065847号-2</a> </span>
        </p>
        <p>
            <span>
                网站内容来自网络整理或网友投稿如有侵权行为请邮件:yijucomnet@163.com 我们24小时内处理
            </span>
        </p>
    </div>
</div>

<script src="https://assets.111com.net/js/stat.js?v=2024022101"></script>


<script src="https://api.111com.net/api/stat/hits?type=article&id=177069"></script>

</body>
</html>