2016-11-04 44 views
1

我試圖使用Flickr API方法flickr.photos.search()從Flickr中提取所有地理標記的照片。這裏是代碼:Flickr API在提取所有地理標記的照片時返回重複的照片

import flickr_api 
import urllib2 
from flickr_api.api import flickr 

flickr_api.set_keys(api_key = 'my_api_key', api_secret = 'my_api_secret') 
flickr_api.set_auth_handler("AuthToken") 

for i in range(1, 1700): 
    photo_list = flickr.photos.search(api_key='my_api_key', has_geo=1, extras='description,license,geo,tags,machine_tags', per_page=250, page=i, min_upload_date='972518400', accuracy=12) 
    f = open('xmldata1/photodata' + str(i) + '.xml','w') 
    f.write(photo_list) 
    f.close() 

這個腳本運行給我一個XML文件的每個頁面的數據。每個xml文件都有250張照片數據。有1699個這樣的XML文件。我收到大約42萬張照片數據,其中包含大量重複數據。刪除重複項後,我只獲得了9022個獨特的圖像。

我已閱讀here,一次查詢16頁= 4000張圖像是安全的,以避免重複。

我想要儘可能避免重複的圖像,我需要100,000+ 唯一用於gps集羣目的的地理標記圖像。

我應該在兩個查詢實例之間插入什麼時間差? 如果我必須考慮另一種方法,請詳細說明。

讓我知道你是否有任何疑問。任何幫助,將不勝感激!

回答

1

嘗試使用max_upload_date以及min_upload_date。保留幾天的時間範圍,並將時間範圍從min_upload_date移到max_upload_date。僅在該時間範圍內搜索照片。

+1

謝謝!這就像一個魅力。 –

+0

很高興我能幫到你。 – Aditya