API Flickr возвращает дубликаты фотографий

Я столкнулся с запутанной проблемой с API flickr.

Когда я выполняю поиск фотографий (flickr.photos.search) и запрашиваю высокие номера страниц, я часто получаю дубликаты фотографий для разных номеров страниц. Вот три URL-адреса, каждый из них должен возвращать три набора разных изображений, однако они, как ни странно, возвращают одни и те же изображения:

http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ca3035f67faa0fcc72b74cf6e396e6a7&tags=gizmo&tag_mode=all&per_page=3&page=6820
http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ca3035f67faa0fcc72b74cf6e396e6a7&tags=gizmo&tag_mode=all&per_page=3&page=6821
http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ca3035f67faa0fcc72b74cf6e396e6a7&tags=gizmo&tag_mode=all&per_page=3&page=6822

Кто-нибудь еще сталкивался с этим? Кажется, я могу воссоздать это при поиске по любому тегу.

Ваше здоровье.


person d2kagw    schedule 03.01.2010    source источник
comment
Кажется, всякий раз, когда номер страницы выше 1333, я начинаю получать повторяющиеся результаты. Интересно, поскольку в API указано, что там 22311 фотографий или 7444 страницы.   -  person d2kagw    schedule 03.01.2010


Ответы (2)


После дальнейшего расследования выяснилось, что в API есть недокументированная «функция», которая никогда не позволяет вам получить более 4000 фотографий, возвращаемых с flickr.photos.search.

Таким образом, пока доступно 7444 страницы, вы сможете загрузить только первые 1333.

person d2kagw    schedule 03.01.2010
comment
Я столкнулся с той же проблемой. Очень раздражает, я могу получить доступ только к 500+ фотографиям. - person Frank Wang; 06.07.2012
comment
У меня тоже была эта проблема :( - person serenskye; 17.04.2013
comment
Почему вы говорите, что это позволит вам загрузить только первые 1333, когда в предыдущем абзаце вы говорите, что ограничение составляет 4000? - person stackoverflowuser2010; 29.09.2013
comment
Любое обновление или дополнительная информация по этому поводу? Я просмотрел 30 страниц из 500 и продолжаю получать дубликаты. Я вернул 85 763 фотографии, но только 4280 из них уникальны. Согласно JSON должно быть >500 000 уникальных. Вы нашли эту информацию в документации? - person ow3n; 23.12.2013
comment
Извините, что поднимаю старый пост, но у меня такая же проблема. Как вы нашли эту некодированную функцию? и кто-нибудь успешно нашел способ обойти это? - person Steven Yates; 22.02.2014
comment
У меня точно такая же проблема. Я уже получаю несколько дубликатов после первой страницы из 250. Кроме того, я получаю изображения за пределами указанного диапазона date_taken. - person Thijs; 24.11.2014

С flickr можно получить более 4000 изображений; ваш запрос должен быть разбит на страницы (например) по временному диапазону, чтобы общее количество изображений из этого запроса не превышало 4000. Вы также можете использовать другие параметры, такие как ограничивающая рамка, чтобы ограничить общее количество изображений в ответе.

Например, если вы ищете по тегу «собаки», вы можете сделать следующее (бинарный поиск по временному диапазону):

  1. Укажите минимальную и максимальную дату в URL-адресе запроса, например 1 января 1990 года и 1 января 2015 года.
  2. Проверьте общее количество изображений в ответе. Если больше 4000, то разделите временной диапазон на два и работайте над первой половиной, пока не получите из запроса менее 4000 изображений. Как только вы это получите, запросите все страницы из этого временного диапазона, перейдите к следующему интервалу и делайте то же самое, пока (а) не будет достигнуто количество требуемых изображений (б) поиск по всему начальному интервалу времени.
person Tarik    schedule 12.03.2015