python爬取NUS-WIDE数据库图片

 更新时间:2016年10月05日 10:45:19   作者:leo-sun  
本文给大家分享的是使用Python制作爬虫爬取图片的小程序,非常的简单,但是很实用,有需要的小伙伴可以参考下

实验室需要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)

相关文章

  • 使用pytorch加载并读取COCO数据集的详细操作

    使用pytorch加载并读取COCO数据集的详细操作

    这篇文章主要介绍了使用pytorch加载并读取COCO数据集,基础知识包括元祖、字典、数组,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 深入理解Javascript中的this关键字

    深入理解Javascript中的this关键字

    这篇文章主要介绍了深入理解Javascript中的this关键字,本文讲解了方法调用模式、函数调用模式、构造器调用模式、apply调用模式 中this的不同之处,需要的朋友可以参考下
    2015-03-03
  • python 实现一个图形界面的汇率计算器

    python 实现一个图形界面的汇率计算器

    这篇文章主要介绍了python 实现一个图形界面的汇率计算器,帮助大家更好的理解和学习如何制作gui程序,感兴趣的朋友可以了解下
    2020-11-11
  • 怎样用cmd命令行运行Python文件

    怎样用cmd命令行运行Python文件

    这篇文章主要介绍了怎样用cmd命令行运行Python文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python+Tableau广东省人口普查可视化的实现

    Python+Tableau广东省人口普查可视化的实现

    本文将结合实例代码,介绍Python+Tableau广东省人口普查可视化,第七次人口普查数据分析,绘制历次人口普查人口数量变化图,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决

    Python中的import语句导入模块相信大家再熟悉不过了,这里我们会来讲解Python中import导入上一级目录模块及循环import问题的解决,需要的朋友可以参考下
    2016-06-06
  • Python Tkinter对话框控件使用详解

    Python Tkinter对话框控件使用详解

    Tkinter中提供了三种对话框控件:文件选择对话框、颜色选择对话框和消息对话框。本文将具体为大家介绍一下这三种对话框的使用,需要的可以参考一下
    2022-01-01
  • python按行读取文件并找出其中指定字符串

    python按行读取文件并找出其中指定字符串

    这篇文章主要介绍了python按行读取文件并找出其中指定字符串的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 详解Python如何实现压缩与解压缩数据

    详解Python如何实现压缩与解压缩数据

    当数据量大的时候,自然而然想到的就是对数据进行压缩,这篇文章主要为大家介绍了Python可以实现压缩与解压缩数据的相关模块的使用,希望对大家有所帮助
    2024-02-02
  • 使用TensorFlow实现二分类的方法示例

    使用TensorFlow实现二分类的方法示例

    这篇文章主要介绍了使用TensorFlow实现二分类的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论