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中使用dom模块生成XML文件示例
Apr 05 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
详解python中的json和字典dict
Jun 22 Python
python+opencv实现阈值分割
Dec 26 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
学习和使用python的13个理由
Jul 30 Python
python 初始化一个定长的数组实例
Dec 02 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
python实现用户名密码校验
Mar 18 Python
django为Form生成的label标签添加class方式
May 20 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 Python
教你怎么用python实现字符串转日期
May 24 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中str_replace函数使用小结
2008/10/11 PHP
PHP遍历二维数组的代码
2011/04/22 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
php生成HTML文件的类方法
2019/10/11 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
Javascript Math对象
2009/08/13 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
Python Deque 模块使用详解
2014/07/04 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
python实现停车管理系统
2018/11/30 Python
python交换两个变量的值方法
2019/01/12 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
python字符串格式化方式解析
2019/10/19 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
高级工程师岗位职责
2013/12/15 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书