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中使用PDB库调试程序
Apr 05 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
python list转矩阵的实例讲解
Aug 04 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
在python中实现强制关闭线程的示例
Jan 22 Python
python开启debug模式的方法
Jun 27 Python
Djang的model创建的字段和参数详解
Jul 27 Python
Python实用库 PrettyTable 学习笔记
Aug 06 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
Jul 21 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
简单的PHP图片上传程序
2008/03/27 PHP
php模板函数 正则实现代码
2012/10/15 PHP
php获取url参数方法总结
2014/11/13 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
不安全的常用的js写法
2009/09/15 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
js判断是否是手机页面
2017/03/17 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
js实现每日签到功能
2018/11/29 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
Python中的条件判断语句基础学习教程
2016/02/07 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python常用特殊方法实例总结
2019/03/22 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
python解析多层json操作示例
2019/12/30 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
应届毕业生求职信范文分享
2013/12/26 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
网络编辑职责
2014/03/01 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
安全环保标语
2014/06/09 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
奖学金感谢信
2015/01/21 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书