2017-05-06 78 views
0

我試圖從Flickr API中使用Python提取地理標記的照片。 但是,它會返回重複的照片。 當它提取超過41頁時,返回相同的照片URL。 這裏是我的代碼,Flickr API返回重複的照片

# !/usr/bin/python 
# coding=utf-8 
from flickrapi import FlickrAPI 
import json, time, os 
import pymongo 

client = pymongo.MongoClient("localhost",27017) 
db = client.flickr 
coll = db.flickr_a 

API_KEY = "xxx" 
SEACRET_KEY = "xxx" 

flickr = FlickrAPI(API_KEY, SEACRET_KEY, format="parsed-json") 
extras="url_c,url_l,url_o,geo,date_taken,owner_name" 

for page in xrange(1,550): 
    disney = flickr.photos.search(bbox="139.867,35.613,139.914,35.645", 
per_page=100,extras=extras,page=page) 
    photos = disney["photos"] 
    coll.insert(photos) 

請給我建議或示例代碼。 謝謝。

+0

嘿,我編輯您的文章,所以你的憑證(API密鑰和祕密)不再顯示。下次請刪除它們之前,你真的不想分享它們(這就是爲什麼它被稱爲「祕密」) – user3079834

+0

我不知道Flickr,但通常你可以登錄到你的帳戶,並刪除/添加新的API密鑰和祕密。也許你想刪除你發佈的那個並創建一個新的。 – user3079834

+0

@ user3079834感謝您的編輯。 –

回答

1

一個快速解決的辦法是將照片網址存儲在python列表中,並通過將其轉換爲集合來刪除重複項。

之初

coll = [] 

添加

coll.append(photos) 

,並在年底(我猜你在這裏插入命令)

for p in set(coll): 
    db.flickr_a.insert(p)