用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后,才发现,原来下载一个东西是十分简单的。举个例子吧。我们来看这张图片和它的URL。 这里还是要推荐下小编的Python学习群:483546416,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。
现在我想要下载这张图片,其实是一件非常简单的事,只需要简单几行代码就可以了
曾经我把这个代码演示给同学看,他说怎么这么麻烦,直接右键保存不就行了。我反问道,如果让你下载一千一万张图片,你还能手动保存吗?我们学编程的目的其中之一,就是让电脑帮我们做烦琐的事情。言归正传,那么怎么写一个下载器呢?和之前的流程一样,先获取URL,然后使用requests模块下载,然后,把文件保存下来。那么问题来了,如果我们下载的文件过大,比如我之前用多线程下载过百度网盘上的文件,效果确实很好,一个线程100kb/s,开20个线程,就可以达到2m/s,非常好用,可是遇到一个问题,就是文件过大,如果将数据,现在下载再写入文件中,对电脑不友好,因为这是下载的数据会先保存在内存里,很快内存就不够用了。找了很久都没有找到好的解决方法,怎么才可以向下载器一样边下载边写入文件呢。后再终于找到了解决方法。
只要使用iter_content方法就可一点迭代获取数据了。来看完整的代码
私信下载获取源码
相关文章推荐
- python3使用pyqt5制作一个超简单浏览器的实例
- Python3-Selenium3实现简单的浏览器引擎初始化
- webdriver基础python版(一)简单的浏览器操作
- 简单Python3爬虫程序(2)进阶:伪装浏览器、超时功能、保存数据
- python实现类似awk的简单功能
- 200行python代码实现一个类似django的简单模板引擎
- python for android : 一个简单文件浏览器的实例 play mp3
- python打造百行代码实现简单的下载器
- 用python写了一个简单的模拟浏览器抓取网页的库webclient
- ruby/python/java全覆盖的Selenium-Webdriver系列教程(2)————浏览器的简单操作
- python简单爬取页面信息及实现打开、关闭浏览器
- python3使用pyqt5制作一个超简单浏览器
- Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
- 简单的python下载器
- python爬虫2之简单模拟浏览器
- 用python简单实现类似thinkphp的针对Mysql操作的数据模型
- Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
- Python上传package到Pypi(代码简单)
- Python网络编程中的select 和 poll I/O复用的简单使用
- Python 中利用urllib2简单实现网页抓取