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 相关文章推荐
Tensorflow简单验证码识别应用
May 25 Python
django 常用orm操作详解
Sep 13 Python
Python冲顶大会 快来答题!
Jan 17 Python
python保存数据到本地文件的方法
Jun 23 Python
python一键去抖音视频水印工具
Sep 14 Python
python实现按首字母分类查找功能
Oct 31 Python
Python3实现发送邮件和发送短信验证码功能
Jan 07 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
python语音识别指南终极版(有这一篇足矣)
Sep 09 Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 Python
python 基于opencv实现图像增强
Dec 23 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
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
JavaScript函数详解
2015/02/27 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
Django logging配置及使用详解
2019/07/23 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
python实现发送邮件
2021/03/02 Python
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
UNIX文件系统分类
2014/11/11 面试题
灰雀教学反思
2014/04/28 职场文书
借款协议书
2014/09/16 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
2016年元旦寄语
2015/08/17 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL