2017-05-06 2 views
0

Ich versuche Geo-Tagged Fotos mit Hilfe von Python von Flickr API zu extrahieren. Aber es gibt doppelte Fotos zurück. Wenn es über 41 Seiten extrahiert wird, wird dieselbe Foto-URL zurückgegeben. Hier ist mein Code,Flickr API gibt doppelte Fotos zurück

# !/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) 

Bitte geben Sie mir Ratschläge oder Beispielcode. Danke.

+0

Hey, ich bearbeiten Ihren Beitrag, Ihre Anmeldedaten (API-Schlüssel und Geheimcode) werden nicht mehr angezeigt. Nächstes Mal bitte entferne sie vorher, du willst sie WIRKLICH nicht teilen (deshalb nennt man das "Geheimnis") – user3079834

+0

Ich kenne Flickr nicht, aber normalerweise kannst du dich in deinen Account einloggen und neue api-Schlüssel und Geheimnisse entfernen/hinzufügen . Vielleicht möchten Sie den von Ihnen geposteten löschen und einen neuen erstellen. – user3079834

+0

@ user3079834 Danke, es zu bearbeiten. –

Antwort

1

Eine schnelle Lösung wäre, die Foto-URLs in einer Python-Liste zu speichern und Duplikate zu entfernen, indem Sie sie in einen Satz verwandeln.

am Anfang

coll = [] 

hinzufügen

coll.append(photos) 

und am Ende (ich bin Ihren Einsatzbefehl hier erraten)

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