python爬取NUS-WIDE數(shù)據(jù)庫(kù)圖片
實(shí)驗(yàn)室需要NUS-WIDE數(shù)據(jù)庫(kù)中的原圖,數(shù)據(jù)集的地址為http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm 由于這個(gè)數(shù)據(jù)只給了每個(gè)圖片的URL,所以需要一個(gè)小爬蟲(chóng)程序來(lái)爬取這些圖片。在圖片的下載過(guò)程中建議使用VPN。由于一些URL已經(jīng)失效,所以會(huì)下載一些無(wú)效的圖片。
# 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)
再給大家分享一個(gè)爬取百度貼吧圖片的小爬蟲(chóng)(你懂得)
#coding=utf-8
#urllib模塊提供了讀取Web頁(yè)面數(shù)據(jù)的接口
import urllib
#re模塊主要包含了正則表達(dá)式
import re
#定義一個(gè)getHtml()函數(shù)
def getHtml(url):
page = urllib.urlopen(url) #urllib.urlopen()方法用于打開(kāi)一個(gè)URL地址
html = page.read() #read()方法用于讀取URL上的數(shù)據(jù)
return html
def getImg(html):
reg = r'src="(.+?\.jpg)" pic_ext' #正則表達(dá)式,得到圖片地址
imgre = re.compile(reg) #re.compile() 可以把正則表達(dá)式編譯成一個(gè)正則表達(dá)式對(duì)象.
imglist = re.findall(imgre,html) #re.findall() 方法讀取html 中包含 imgre(正則表達(dá)式)的 數(shù)據(jù)
#把篩選的圖片地址通過(guò)for循環(huán)遍歷并保存到本地
#核心是urllib.urlretrieve()方法,直接將遠(yuǎn)程數(shù)據(jù)下載到本地,圖片通過(guò)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實(shí)現(xiàn)批量讀取圖片并存入mongodb數(shù)據(jù)庫(kù)的方法示例
- python3+PyQt5使用數(shù)據(jù)庫(kù)表視圖
- python3+PyQt5使用數(shù)據(jù)庫(kù)窗口視圖
- python聚類算法解決方案(rest接口/mpp數(shù)據(jù)庫(kù)/json數(shù)據(jù)/下載圖片及數(shù)據(jù))
- python 讀取數(shù)據(jù)庫(kù)并繪圖的實(shí)例
- Python操作MySQL數(shù)據(jù)庫(kù)9個(gè)實(shí)用實(shí)例
- python Django連接MySQL數(shù)據(jù)庫(kù)做增刪改查
- python連接oracle數(shù)據(jù)庫(kù)實(shí)例
- Python讀寫(xiě)Redis數(shù)據(jù)庫(kù)操作示例
- python連接mongodb操作數(shù)據(jù)示例(mongodb數(shù)據(jù)庫(kù)配置類)
- Python的Flask框架與數(shù)據(jù)庫(kù)連接的教程
- Python使用py2neo操作圖數(shù)據(jù)庫(kù)neo4j的方法詳解
相關(guān)文章
python?list與numpy數(shù)組效率對(duì)比
這篇文章主要介紹了python?list與numpy數(shù)組效率對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
詳解Python執(zhí)行py文件是否需要可執(zhí)行權(quán)限
這篇文章主要通過(guò)幾個(gè)案例為大家詳細(xì)介紹一下在Python中執(zhí)行py文件是否需要可執(zhí)行權(quán)限,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以了解一下2023-03-03
python把數(shù)組中的數(shù)字每行打印3個(gè)并保存在文檔中的方法
今天小編就為大家分享一篇python把數(shù)組中的數(shù)字每行打印3個(gè)并保存在文檔中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
簡(jiǎn)單了解python元組tuple相關(guān)原理
這篇文章主要介紹了簡(jiǎn)單了解python元組tuple相關(guān)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)
這篇文章主要介紹了Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python面向?qū)ο笾接袑傩院退接蟹椒☉?yīng)用案例分析
這篇文章主要介紹了Python面向?qū)ο笾接袑傩院退接蟹椒?結(jié)合具體案例形式簡(jiǎn)單分析了面向?qū)ο蟪绦蛟O(shè)計(jì)中私有屬性與私有方法的基本功能與使用注意事項(xiàng),需要的朋友可以參考下2019-12-12

