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

来源:http://www.sh-fengwen.com 作者:美高梅游戏平台网站 人气:57 发布时间:2019-09-02
摘要:python爬取NUS-WIDE数据库图片, 实验室需要NUS-WIDE数据库中的原图,数据集的地址为  由于这个数据只给了每个图片的URL,所以需要一个小爬虫程序来爬取这些图片。在图片的下载过程中

python爬取NUS-WIDE数据库图片,

实验室需要NUS-WIDE数据库中的原图,数据集的地址为   由于这个数据只给了每个图片的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)

实验室需要NUS-WIDE数据库中的原图,数据集的地址为 由于这个数据只给了...

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

   实验室需要NUS-WIDE数据库中的原图,数据集的地址为   由于这个数据只给了每个图片的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)

 

实验室需要NUS-WIDE数据库中的原图,数据集的地址为 由于这个数...

本文由美高梅游戏平台网站发布于美高梅游戏平台网站,转载请注明出处:python爬虫——爬取NUS-WIDE数据库图片,

关键词:

上一篇:没有了

下一篇:没有了

最火资讯