Привет, Хабр! Как известно, топливом для машинного обучения являются наборы данных. В качестве источников для получения датасетов, которыми люди обычно пользуются и которые у всех на слуху, являются такие сайты как Kaggle, ImageNet, Google Dataset Search и Visual Genom, но довольно редко встречаю людей, которые для поиска данных используют такие сайты как Bing Image Search и Instagram. Поэтому в этой статье я покажу как легко получить данные с этих источников, написав две небольшие программы на Python.  Первое, что нужно сделать это перейти по ссылке нажать кнопку Get API Key и зарегистрироваться с помощью любой из предложенных социальных сетей(Microsoft, Facebook, LinkedIn или GitHub). После того, как процесс регистрации завершится вас перенаправят на страницу Your APIs, которая должна выглядеть подобным образом( то, что замазано, это и есть ваши API ключи) :  Переходим к написанию кода. Импортируем необходимые библиотеки : Дальше нужно указать некоторые параметры: API ключ( нужно выбрать из двух предложенных ключей один), указать условия поиска, максимальное количество изображений на запрос, а также установим конечный URL : Теперь напишем три небольшие функции, которые:
1) Создают для каждого условия поиска отдельную папку : 2) Возвращает содержимое ответа сервера в JSON : 3) Записывает изображения на диск : Далее мы перебираем изображения и пытаемся загрузить каждое отдельное изображение в выходную папку : Импортируем библиотеки: Как вы можете видеть, я использую библиотеку selenium, поэтому нужно скачать geckodriver. В инстаграме поиск изображений будем осуществлять по хэштегу, допустим, возьмём хэштег #bird. По данному хэштегу можно найти около 26млн публикаций. Копируем ссылку, которая сформировалась в результате запроса и путь к geckodriver, и вставляем это соответственно в две строчки, которые представлены ниже: Дальше напишем 6 функций, которые:
1) Входит в инстаграм аккаунт. В строчках login.send_keys(' ') и password.send_keys(' ') необходимо вставить свой логин и пароль соответственно: 2) Находит первый пост и нажимаем на него: Тут необходимо отметить, что, возможно, из-за того, что у всех разрешение экрана монитора разное, то первый пост может находиться по другим координатам, поэтому в методе moveTo() нужно будет поменять первых два параметра. 3) Получаем ссылку на публикацию и нажимаем на кнопку далее: Тут может возникнуть аналогичная проблема, что и в методе выше: кнопка далее может находиться по другим координатам. 4)Получаем html-код исходной страницы: 5) Получаем URL изображения: 6) Скачиваем и сохраняем текущее изображение. В переменной filename нужно указать по какому пути будет сохраняться ваше изображение: В заключении хотелось бы сказать про недостаток источников и реализации. Что касается самих ресурсов, то изображений с них можно собрать большое количество, но эти данные придётся сортировать, так как изображения не всегда подходят под те критерии поиска, которые вы задали. Что касается реализации, то в получении данных с инстаграма была задействована библиотека pyautogui, которая эмулирует действия пользователя, в результате чего, при выполнении программы вы не сможете задействовать ваш компьютер для решения других задач. Если будут предложения, как написать код лучше, прошу писать в комментарии.
Что касается написания кода, то всё было сделано на Ubuntu 18.04. Исходный код выложил на GitHub.