国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的關(guān)于Flickr圖片網(wǎng)站的爬蟲(chóng)

2019-02-18 00:48:36王金峰李世良王明羅星宇張雪玉
中小企業(yè)管理與科技 2019年2期
關(guān)鍵詞:爬蟲(chóng)調(diào)用列表

王金峰 ,李世良 ,王明 ,羅星宇 ,張雪玉

(1.防災(zāi)科技學(xué)院 信息工程學(xué)院,河北 三河 065201,2.河北女子職業(yè)技術(shù)學(xué)院,石家莊 050091)

1 引言

隨著大數(shù)據(jù)時(shí)代的到來(lái),大數(shù)據(jù)具有數(shù)據(jù)體量巨大(Volume)、數(shù)據(jù)類型繁多 (Variety)、價(jià)值密度低 (Value)、處理速度快(Velocity)的特點(diǎn)[1]。面對(duì)人們?cè)絹?lái)越多樣的需求[2],可以根據(jù)自己的實(shí)際需求,繼續(xù)修改程序來(lái)達(dá)到自己的要求[3]。程序按照一個(gè)檢索詞列表進(jìn)行批量爬取,并把圖片信息存入數(shù)據(jù)庫(kù)中。本文提供了一個(gè)通過(guò)Python調(diào)用Flickr API實(shí)現(xiàn)通過(guò)關(guān)鍵字檢索獲取圖片信息并批量下載的程序。

2 相關(guān)技術(shù)

2.1 Python

Python是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,是一種動(dòng)態(tài)的、面向?qū)ο蟮哪_本語(yǔ)言。Python語(yǔ)言的一大優(yōu)勢(shì)就是其語(yǔ)法簡(jiǎn)潔清晰,并具有豐富和強(qiáng)大的類庫(kù)[5],這為程序的編寫(xiě)提供了極大的便利使得數(shù)據(jù)抓取工作變得生動(dòng)有趣[6],從而簡(jiǎn)化了程序。

2.2 Flickr API

Flickr是雅虎旗下的圖片分享網(wǎng)站,上面有全世界網(wǎng)友分享的大量精彩圖片,被認(rèn)為是專業(yè)的圖片網(wǎng)站。

3 爬蟲(chóng)系統(tǒng)工作

系統(tǒng)分為兩部分:第一部分即調(diào)用Flickr API獲取圖片等數(shù)據(jù),第二部分即根據(jù)數(shù)據(jù)庫(kù)中的圖片Url下載圖。獲取圖片信息的流程圖如圖1所示,下載的流程圖如圖2所示。

3.1 調(diào)用API獲取信息

Flickr網(wǎng)站上的每張圖片都有一個(gè)唯一標(biāo)識(shí)的ID,如果想要知道圖片的信息首先就是要獲取圖片在Flickr上的ID,再通過(guò)調(diào)用Flickr的多種方法來(lái)獲取圖片的不同信息。Flickr API庫(kù)有很多方法可以調(diào)用,可以獲取不同的圖片數(shù)據(jù)[4]。但是使用前提都是需要有Flickr API的密鑰,參考代碼如下:

程序主要通過(guò)關(guān)鍵詞來(lái)進(jìn)行檢索相應(yīng)的圖片,tags和text就是對(duì)應(yīng)輸入相應(yīng)的關(guān)鍵詞參數(shù),extras為要求返回不同大小圖片的Url。參考代碼如下:

通過(guò)photos.search方法就可以獲得檢索圖片的Json列表,再對(duì)圖片列表逐個(gè)分析通過(guò)調(diào)用photo.get()獲得關(guān)鍵的數(shù)據(jù)即圖片url和圖片在Flickr網(wǎng)站上的id,

圖1

圖2

返回的Json列表:

如果想要獲取圖片的其他數(shù)據(jù)可以根據(jù)獲取到的圖片id通過(guò)調(diào)用其他的方法并解析返回的Json數(shù)據(jù)來(lái)進(jìn)行獲取。方法調(diào)用參考代碼如下:

3.2 圖片的下載

圖片的下載是根據(jù)之前獲取的圖片的url借助request庫(kù)來(lái)進(jìn)行下載的。圖片保存的格式是按照檢索的字段為文件夾,文件夾里包含下載的圖片。參考代碼如下:

在圖片的下載時(shí)將采用多線程下載借助threadpool庫(kù)實(shí)現(xiàn),參考代碼如下:

4 結(jié)語(yǔ)

本文的爬蟲(chóng)通過(guò)調(diào)用Flickr API和Python豐富的第三庫(kù)實(shí)現(xiàn)了對(duì)Flickr網(wǎng)站上的圖片和圖片信息進(jìn)行批量爬取的程序,為一些追求高質(zhì)量的,準(zhǔn)確的,想要獲取圖片相關(guān)信息數(shù)據(jù)的研究者提供了一種方案。通過(guò)充分利用Python語(yǔ)言的特點(diǎn)結(jié)合Flickr API,能夠方便快捷地獲取大量的圖片和圖片相關(guān)信息,并將獲取到的圖片自動(dòng)存儲(chǔ)到本地,為后續(xù)的機(jī)器學(xué)習(xí)、人工智能奠定了數(shù)據(jù)基礎(chǔ)。

猜你喜歡
爬蟲(chóng)調(diào)用列表
巧用列表來(lái)推理
利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
學(xué)習(xí)運(yùn)用列表法
擴(kuò)列吧
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)
電子制作(2017年9期)2017-04-17 03:00:46
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
内江市| 长葛市| 罗江县| 平和县| 新竹县| 吉水县| 德令哈市| 夏河县| 福安市| 习水县| 沽源县| 襄樊市| 绥德县| 安图县| 阜阳市| 含山县| 清流县| 鱼台县| 波密县| 夏河县| 朝阳区| 白河县| 凤庆县| 泸溪县| 舒城县| 邯郸市| 康定县| 鄱阳县| 左云县| 若尔盖县| 望城县| 桓仁| 界首市| 安龙县| 太保市| 陵水| 乌恰县| 巴彦淖尔市| 五华县| 福安市| 台前县|