Как вы получаете Flickr случайные изображения с использованием API и Python?
Я использовал следующий Flickr API:
flickr.photos.search(text,page,per_page,extras)
# where:
# text = "flower" (also with other words the results are very disappointing about the randomness)
# per_page = 1 (I have set 1 Image per page)
# page = In the vast majority of cases, the number of pages found per word exceeds 100000. Therefore I set a random number between 1 and 100000
# extras = "url_sq,url_t,url_s,url_q,url_m,url_n,url_z,url_c,url_l,url_o"
Когда я запускаю свое приложение, которое отображает изображение каждые 20секунды, результаты очень разочаровывают, в том смысле, что примерно на каждые 20 отображаемых изображений 16 всегда являются одним и тем же изображением.Ниже весь код:
def update_flickrImage(self):
FLICKR_PUBLIC = 'XXXXXXXXXXXXXXXXXX'
FLICKR_SECRET = 'XXXXXXXXXXX'
flickr = FlickrAPI(FLICKR_PUBLIC,FLICKR_SECRET,format='parsed-json')
random.seed()
rand_page = random.randrange(1,100000,1)
extras = 'url_sq,url_t,url_s,url_q,url_m,url_n,url_z,url_c,url_l,url_o'
cats = flickr.photos.search(text="flower", page=rand_page, per_page=1, extras=extras)
photos = cats['photos']
pprint(photos)
print("Page: ",rand_page)
for image in photos['photo']:
self.title = image['title']
try:
url = image['url_o']
width = image['width_o']
height = image['height_o']
except:
try:
url = image['url_l']
width = image['width_l']
height = image['height_l']
except:
try:
url = image['url_c']
width = image['width_c']
height = image['height_c']
except:
pass
try:
r = requests.get(url)
self.pic = r.content
except:
pass