python爬取NUS-WIDE資料庫圖片_python

來源:互聯網
上載者:User

實驗室需要NUS-WIDE資料庫中的原圖,資料集的地址為http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm   由於這個資料只給了每個圖片的URL,所以需要一個小爬蟲程式來爬取這些圖片。在圖片的下載過程中建議使用VPN。由於一些URL已經失效,所以會下載一些無效的圖片。

# PYTHON 2.7   Ubuntu 14.04nuswide = "$NUS-WIDE-urls_ROOT" #the location of your nus-wide-urls.txtimagepath = "$IMAGE_ROOT" # path of dataset you want to download inf = open(nuswide, 'r')url = f.readlines()import reimport urllibimport osreg = 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模組主要包含了Regeximport re#定義一個getHtml()函數def getHtml(url):  page = urllib.urlopen(url) #urllib.urlopen()方法用於開啟一個URL地址  html = page.read() #read()方法用於讀取URL上的資料  return htmldef getImg(html):  reg = r'src="(.+?\.jpg)" pic_ext'  #Regex,得到圖片地址  imgre = re.compile(reg)   #re.compile() 可以把Regex編譯成一個Regex對象.  imglist = re.findall(imgre,html)   #re.findall() 方法讀取html 中包含 imgre(Regex)的  資料  #把篩選的圖片地址通過for迴圈遍曆並儲存到本地  #核心是urllib.urlretrieve()方法,直接將遠端資料下載到本地,圖片通過x依次遞增命名  x = 0  for imgurl in imglist:  urllib.urlretrieve(imgurl,'D:\E\%s.jpg' % x)      x+=1html = getHtml("http://tieba.baidu.com/p/xxxx")print getImg(html)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.