python爬取NUS-WIDE数据库图片


Posted in Python onOctober 05, 2016

实验室需要NUS-WIDE数据库中的原图,数据集的地址为http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm   由于这个数据只给了每个图片的URL,所以需要一个小爬虫程序来爬取这些图片。在图片的下载过程中建议使用VPN。由于一些URL已经失效,所以会下载一些无效的图片。

# PYTHON 2.7   Ubuntu 14.04
nuswide = "$NUS-WIDE-urls_ROOT" #the location of your nus-wide-urls.txt
imagepath = "$IMAGE_ROOT" # path of dataset you want to download in
f = open(nuswide, 'r')
url = f.readlines()
import re
import urllib
import os
reg = r"ImageData.+?jpg"
location_re = re.compile(reg)
reg = r"(ImageData.+?)/0"
direction_re = re.compile(reg)
reg = r"http.+?jpg"
image_re = re.compile(reg)
for i in url:
  filename = re.findall(location_re, i)
  direction = re.findall(direction_re, i)
  image = re.findall(image_re, i)
  if image:
    path = imagepath+filename[0]
    path_n = imagepath+direction[0]
    print path_n
    if os.path.exists(path_n):
      urllib.urlretrieve(image[1], path)
    else:
      os.makedirs(path_n)
      urllib.urlretrieve(image[1], path)

再给大家分享一个爬取百度贴吧图片的小爬虫(你懂得)

#coding=utf-8

#urllib模块提供了读取Web页面数据的接口
import urllib
#re模块主要包含了正则表达式
import re
#定义一个getHtml()函数
def getHtml(url):
  page = urllib.urlopen(url) #urllib.urlopen()方法用于打开一个URL地址
  html = page.read() #read()方法用于读取URL上的数据
  return html

def getImg(html):
  reg = r'src="(.+?\.jpg)" pic_ext'  #正则表达式,得到图片地址
  imgre = re.compile(reg)   #re.compile() 可以把正则表达式编译成一个正则表达式对象.
  imglist = re.findall(imgre,html)   #re.findall() 方法读取html 中包含 imgre(正则表达式)的  数据
  #把筛选的图片地址通过for循环遍历并保存到本地
  #核心是urllib.urlretrieve()方法,直接将远程数据下载到本地,图片通过x依次递增命名
  x = 0

  for imgurl in imglist:
  urllib.urlretrieve(imgurl,'D:\E\%s.jpg' % x)
      x+=1


html = getHtml("http://tieba.baidu.com/p/xxxx")
print getImg(html)
Python 相关文章推荐
python实现的多线程端口扫描功能示例
Jan 21 Python
Python探索之ModelForm代码详解
Oct 26 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
opencv实现简单人脸识别
Feb 19 Python
解析Python3中的Import
Oct 13 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
python groupby 函数 as_index详解
Dec 16 Python
python实现人脸签到系统
Apr 13 Python
解决paramiko执行命令超时的问题
Apr 16 Python
python打开文件的方式有哪些
Jun 29 Python
Django框架中视图的用法
Jun 10 Python
python2.7的编码问题与解决方法
Oct 04 #Python
Python Sqlite3以字典形式返回查询结果的实现方法
Oct 03 #Python
Python实现屏幕截图的代码及函数详解
Oct 01 #Python
Python爬取APP下载链接的实现方法
Sep 30 #Python
Python脚本实现12306火车票查询系统
Sep 30 #Python
Python ldap实现登录实例代码
Sep 30 #Python
python之Socket网络编程详解
Sep 29 #Python
You might like
PHP url 加密解密函数代码
2011/08/26 PHP
php下获取http状态的实现代码
2014/05/09 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
javascript 精粹笔记
2010/05/09 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中定义结构体的方法
2013/03/04 Python
python实现各进制转换的总结大全
2017/06/18 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
工商管理实习生自我鉴定范文
2013/12/18 职场文书
人力资源主管岗位职责
2014/01/29 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
销售队伍口号
2014/06/11 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
技术员个人工作总结
2015/03/03 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis