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 操作文件的基本方法总结
Aug 10 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
python3将视频流保存为本地视频文件
Jun 20 Python
django进阶之cookie和session的使用示例
Aug 17 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
python 常见字符串与函数的用法详解
Nov 23 Python
基于Django静态资源部署404的解决方法
Jul 28 Python
python 5个顶级异步框架推荐
Sep 09 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
Python3爬虫RedisDump的安装步骤
Feb 20 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 之入门篇
2006/12/04 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
python re模块的高级用法详解
2018/06/06 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
如何强制垃圾回收
2015/10/06 面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
党章培训心得体会
2014/09/04 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
综合办公室岗位职责
2015/04/11 职场文书
失恋33天观后感
2015/06/11 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python