python爬虫——爬取NUS-WIDE数据库图片


   实验室需要NUS-WIDE数据库中的原图,数据集的地址为http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm   由于这个数据只给了每个图片的URL,所以需要一个小爬虫程序来爬取这些图片。在图片的下载过程中建议使用VPN。由于一些URL已经失效,所以会下载一些无效的图片。

 1 # PYTHON 2.7     Ubuntu 14.04
 2 nuswide = "$NUS-WIDE-urls_ROOT" #the location of your nus-wide-urls.txt
 3 imagepath = "$IMAGE_ROOT" # path of dataset you want to download in
 4 f = open(nuswide, 'r')
 5 url = f.readlines()
 6 import re
 7 import urllib
 8 import os
 9 reg = r"ImageData.+?jpg"
10 location_re = re.compile(reg)
11 reg = r"(ImageData.+?)/0"
12 direction_re = re.compile(reg)
13 reg = r"http.+?jpg"
14 image_re = re.compile(reg)
15 for i in url:
16     filename = re.findall(location_re, i)
17     direction = re.findall(direction_re, i)
18     image = re.findall(image_re, i)
19     if image:
20         path = imagepath+filename[0]
21         path_n = imagepath+direction[0]
22         print path_n
23         if os.path.exists(path_n):
24             urllib.urlretrieve(image[1], path)
25         else:
26             os.makedirs(path_n)
27             urllib.urlretrieve(image[1], path)

 update 1:

我在使用数据集的nus-wide-urls.txt文件时,为了避免‘\’的转义字符问题,将其中的'\'替换为了'/'。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM