54在上一篇博文中,我用单线程版本的Python来实现下载脚本,其中最大的不足在于它是单线程的,很慢。

其实,下载网络图片是天然的具有并行性的,因为下载每一副图片都是独立的,甚至线程之间都不用交互。

[python] view plain copy
  1. -*- coding: utf-8 -*-
  2. """
  3. Created on Tue Apr 07 20:19:38 2015
  4. @author: Chenriwei
  5. """
  6. import threading
  7. import time
  8. import urllib
  9. def download_and_save(url,savename):
  10. try:
  11. urlopen=urllib.URLopener()
  12. fp = urlopen.open(url)
  13. data = fp.read()
  14. fp.close()
  15. fid=open(savename,'w+b')
  16. fid.write(data)
  17. print "下载成功:"+ url
  18. fid.close()
  19. except IOError:
  20. print "下载失败:"+ url
  21. def get_all_iamge(filename):
  22. fid=open(filename)
  23. lines=fid.readlines()
  24. for line in lines:
  25. line_split=line.split('\t')
  26. name=line_split[0]
  27. image_id=line_split[1]
  28. face_id=line_split[2]
  29. box=line_split[4]
  30. image_url=line_split[3]
  31. if False == os.path.exists(name):
  32. os.mkdir(name)
  33. savefile=name+'/'+image_id+'.jpg'
  34. #最多1000个线程,
  35. while True:
  36. if(len(threading.enumerate()) < 1000):
  37. break
  38. t = threading.Thread(target=download_and_save,args=(image_url,savefile,))
  39. t.start()
  40. if __name__ == "__main__":
  41. get_all_iamge('facescrub_actresses.txt')

用多线程去下载图片,明显就快很多了,看自己电脑的网速,一个小时一般就可以都下载完数据库。

下载好了的网盘地址:

链接:http://pan.baidu.com/s/1qWQpqEw 密码:tyym

下载faceScrub人脸数据库 (多线程版本)相关推荐

  1. mysql5.045_Microsoft SQL Server数据库各版本下载地址集合

    sql server 2019 enterprise (x64) - dvd (chinese-simplified)企业版 ed2k://|file|cn_sql_server_2019_enter ...

  2. 现有的人脸数据库介绍及下载链接

    在国际上已有的一些人脸数据库: Yale人脸库(美国): 耶鲁大学,15人,每人11张照片,主要包括光照条件的变化,表情的变化等. ORL人脸库(英国): 剑桥大学,40人,每人10张照片,包括表情变 ...

  3. FaceDataset常用的人脸数据库

    from: http://blog.csdn.net/chenriwei2/article/details/50631212 公开人脸数据集 本页面收集到目前为止可以下载到的人脸数据库,可用于训练人脸 ...

  4. 【数据库】FaceDataset常用的人脸数据库

    公开人脸数据集 本页面收集到目前为止可以下载到的人脸数据库,可用于训练人脸深度学习模型. 人脸识别 数据库 描述 用途 获取方法 WebFace 10k+人,约500K张图片 非限制场景 链接 Fac ...

  5. 虹软人脸识别WPF版本,含活体检测

    虹软人脸识别WPF版本,3.0类库,含活体检测 源码地址: https://gitee.com/dacaba/arcface-demo-csharp-wpf3 将对应appid和appkey替换App ...

  6. flyway常用配置_Spring Boot 2 实战:使用 Flyway 管理你数据库的版本变更

    1. 前言 随着项目的不断迭代,数据库表结构.数据都在发生着变化.甚至有的业务在多环境版本并行运行.数据为王的时代,管理好数据库的版本也成为了迫切的需要.如何能做到像 Git 之类的版本控制工具来管理 ...

  7. sonarQube 7.2版本下载配置pmd插件(版本要兼容),并设置只使用pmd规则

    sonarQube 7.2版本下载配置pmd插件(版本要兼容),并设置只使用pmd规则 sonar入门了解 sonarQube是一款优秀的持续集成平台工具,能集成业内常见的CI工具,如Jenkins, ...

  8. (五)为边缘AI人脸识别创建人脸数据库

    目录 介绍 数据库中有什么 创建数据库 填充数据库 下一步 在这里,我们将解释用于人脸识别的简单人脸数据库的结构,开发用于将人脸添加到人脸数据库的实用程序的Python代码,并提供下载人脸以创建数据库 ...

  9. 官网下载Eclipse(包含历史版本及该版本的子版本)

    一.Eclispe下载 1.打开Eclipse官网,默认进入官网首页,官网地址为:https://www.eclipse.org/ 2.点击左上角 Download 进入下载页面进行下载 3.下载页面 ...

  10. mysql数据库有哪些版本_MySQL数据库各个版本的区别

    MySQL数据库各个版本的区别 MySQL数据库 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管 ...

最新文章

  1. 基因组重复序列注释-RepeatMasker安装和使用
  2. 30个使用jQuery打造的世界级一流网站
  3. zemax 宏怎么编写数组_编写Excel VBA程序的10个技巧
  4. 湖北沙洋中学2021年6月高考成绩查询,2021年荆门中考分数线公布填报志愿时间及录取结果什么时候出...
  5. xhprof php性能分析工具
  6. 前端学习(2792):下拉刷新
  7. VS2010中 C++创建DLL图解
  8. java 相对路径获取_在java项目中通过相对路径获取资源的方式
  9. 判断Javascript变量类型的函数
  10. orm对象关系映射演练 一行就是一个对象
  11. JavaScript和C#通用gb2312和utf8编码解码函数简单实现
  12. 学了这么久MySQL竟然还不知道视图和触发器!!!
  13. dell 服务器r410装系统,dell r410安装windows2003系统
  14. 数独问题之排除法和唯余法
  15. 人工智能急需变革?比起英特尔的焦虑,互联网企业更想蹚这一池芯片水...
  16. redis:redis的底层数据结构
  17. outlook没有显示已连接到服务器上,Outlook无法连接到服务器怎么办?
  18. “国家中小学智慧教育平台”是什么
  19. Reinforcement learning-强化学习基础
  20. Celoria的板子(last update:20201017)

热门文章

  1. 关于高效找工作的几条建议
  2. Packet Tracer基本使用
  3. 【Foreign】字符串匹配 [KMP]
  4. SqlServerExpress2005 自动备份
  5. spring mvc +@Valid +@RequestBody 来做参数校验返回400,并且不显示具体message 如何解决...
  6. Go语言之进阶篇请求报文格式分析
  7. PAT 1005 继续(3n+1)猜想
  8. App Transport Security has blocked a cleartext
  9. Maven生命周期和插件
  10. Opencv实现的简易绘图工具