python爬取NUS-WIDE數(shù)據(jù)庫圖片
實(shí)驗(yàn)室需要NUS-WIDE數(shù)據(jù)庫中的原圖,數(shù)據(jù)集的地址為http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm 由于這個(gè)數(shù)據(jù)只給了每個(gè)圖片的URL,所以需要一個(gè)小爬蟲程序來爬取這些圖片。在圖片的下載過程中建議使用VPN。由于一些URL已經(jīng)失效,所以會(huì)下載一些無效的圖片。
# 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è)爬取百度貼吧圖片的小爬蟲(你懂得)
#coding=utf-8
#urllib模塊提供了讀取Web頁面數(shù)據(jù)的接口
import urllib
#re模塊主要包含了正則表達(dá)式
import re
#定義一個(gè)getHtml()函數(shù)
def getHtml(url):
page = urllib.urlopen(url) #urllib.urlopen()方法用于打開一個(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ù)
#把篩選的圖片地址通過for循環(huán)遍歷并保存到本地
#核心是urllib.urlretrieve()方法,直接將遠(yuǎn)程數(shù)據(jù)下載到本地,圖片通過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ù)庫的方法示例
- python3+PyQt5使用數(shù)據(jù)庫表視圖
- python3+PyQt5使用數(shù)據(jù)庫窗口視圖
- python聚類算法解決方案(rest接口/mpp數(shù)據(jù)庫/json數(shù)據(jù)/下載圖片及數(shù)據(jù))
- python 讀取數(shù)據(jù)庫并繪圖的實(shí)例
- Python操作MySQL數(shù)據(jù)庫9個(gè)實(shí)用實(shí)例
- python Django連接MySQL數(shù)據(jù)庫做增刪改查
- python連接oracle數(shù)據(jù)庫實(shí)例
- Python讀寫Redis數(shù)據(jù)庫操作示例
- python連接mongodb操作數(shù)據(jù)示例(mongodb數(shù)據(jù)庫配置類)
- Python的Flask框架與數(shù)據(jù)庫連接的教程
- Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法詳解
相關(guān)文章
Python讀取配置文件-ConfigParser的二次封裝方法
這篇文章主要介紹了Python讀取配置文件-ConfigParser的二次封裝方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Python簡單實(shí)現(xiàn)的代理服務(wù)器端口映射功能示例
這篇文章主要介紹了Python簡單實(shí)現(xiàn)的代理服務(wù)器端口映射功能,結(jié)合實(shí)例形式分析了Python模擬服務(wù)器、代理服務(wù)器及客戶端訪問的相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
Python深入06——python的內(nèi)存管理詳解
本篇文章主要介紹了python的內(nèi)存管理詳解,語言的內(nèi)存管理是語言設(shè)計(jì)的一個(gè)重要方面。它是決定語言性能的重要因素。有興趣的同學(xué)可以了解一下。2016-12-12
一次性徹底講透Python中pd.concat與pd.merge
本文主要介紹了一次性徹底講透Python中pd.concat與pd.merge,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
手把手教你利用Python創(chuàng)建一個(gè)游戲窗口
pygame是python用來寫游戲的擴(kuò)展包,用這個(gè)擴(kuò)展包,可以比較容易的構(gòu)造一個(gè)游戲窗口,這篇文章主要給大家介紹了關(guān)于如何利用Python創(chuàng)建一個(gè)游戲窗口的相關(guān)資料,需要的朋友可以參考下2022-07-07

