您的位置:首页 > 编程语言 > Python开发

用python写个类似浏览器的下载器,超简单的

2018-03-04 08:43 134 查看
以前没有学习python时,想要下载一个网上的文件,就只能把浏览器打来,找到文件的下载链接,将地址放进去。

现在学了python后,才发现,原来下载一个东西是十分简单的。举个例子吧。我们来看这张图片和它的URL。 这里还是要推荐下小编的Python学习群:483546416,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。


现在我想要下载这张图片,其实是一件非常简单的事,只需要简单几行代码就可以了

曾经我把这个代码演示给同学看,他说怎么这么麻烦,直接右键保存不就行了。我反问道,如果让你下载一千一万张图片,你还能手动保存吗?我们学编程的目的其中之一,就是让电脑帮我们做烦琐的事情。言归正传,那么怎么写一个下载器呢?和之前的流程一样,先获取URL,然后使用requests模块下载,然后,把文件保存下来。那么问题来了,如果我们下载的文件过大,比如我之前用多线程下载过百度网盘上的文件,效果确实很好,一个线程100kb/s,开20个线程,就可以达到2m/s,非常好用,可是遇到一个问题,就是文件过大,如果将数据,现在下载再写入文件中,对电脑不友好,因为这是下载的数据会先保存在内存里,很快内存就不够用了。找了很久都没有找到好的解决方法,怎么才可以向下载器一样边下载边写入文件呢。后再终于找到了解决方法。

只要使用iter_content方法就可一点迭代获取数据了。来看完整的代码

私信下载获取源码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python