使用Python調用Flickr API抓取圖片數據


Flickr是雅虎旗下的圖片分享網站,上面有全世界網友分享的大量精彩圖片,被認為是專業的圖片網站。其API也很友好,可以實現多種功能。這里我使用了Python調用其API獲得了大量的照片數據。需要注意的是,要想登錄其網站,注冊成為開發者,並調用其API,需要翻牆。但獲得的url可以不翻牆查看。

首先需要先去Flickr注冊成為其開發者,創建應用,獲得API_KEY和API_SECRET,其API網址在:https://www.flickr.com/services/api/

Flickr提供了多種開發工具進行使用。這里使用Python開發工具。官方推薦的開發工具是Beej’s Python Flickr API. https://stuvel.eu/flickrapi

可以直接使用pip安裝工具進行安裝,輸入flickrapi即可自動安裝好。

官方文檔在這里:https://stuvel.eu/flickrapi-doc/

爬取照片數據最好的方法是使用其walk方法。這個方法實質上是調用了flickr.photos.search的接口,各種參數可以參見該API的介紹:https://www.flickr.com/services/api/flickr.photos.search.html

用好這個方法,輸入不同的參數,就可以滿足大部分數據挖掘的需要,包括時間、地理位置、照片類型等。

這里貼上一段簡單的代碼,僅供參考:

 1 #coding:utf-8
 2 import flickrapi
 3 #輸入API的key和secret
 4 flickr=flickrapi.FlickrAPI(api_key,api_secret,cache=True)
 5 try:
 6     #爬取text為'New York'的照片,這里可以根據自己的需要設置其它的參數
 7     photos=flickr.walk(text='New York',extras='url_c')
 8 except Exception as e:
 9     print('Error')
10 for photo in photos:
11     #獲得照片的url,設置大小為url_c(具體參數請參看FlickrAPI官方文檔介紹)
12     url=photo.get('url_c')
13     print(str(url))

需要注意的地方在於,倘若出現循環的情況,可能是因為數據量太大,因此需要加一些限制條件限制,例如一次調用只調用一段時間內的數據,再分批次挖掘數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM