Мне кажется эта тема стоит отдельного треда.Если кто не в теме, Instagram очень крупно поднасрал всем разработчикам, введя необходимость авторизации конкретного пользователя для использования api. Но немного попинав их сайт я обнаружил, что достаточно дописать к любой ссылке ?__a=1 и сайт выдаст вполне себе машинопонятный json.Авторизация на сайте для этого не нужна. Данным способом можно получить любой открытый контент.Например введя instagram.com/explore/tags/2ch/?__a=1 вы получите информация по хэштегу #2ch в json'е.Соответственно instagram.com/abu_vip/?__a=1 - получение информации о пользователе.В рамках этого треда предлагаю найти замену всему, что было в api инсты.Если еще чего интересного отковыряю, буду скидывать ИТТ. Если вы найдете, то велком. Любые вопросы приветствуются.
Бамп /?__a=1
Бамп /?__a=2
Бамп /?__a=3
да иди на хуй отсюда со своим говном.бампаешь, чтобы кто-то сказал какой ты охуенный? Нет, ты чмошник и API инстаграмма нахуй никому не нужно, быдло-парашник.
>>92639> со своим говномА куда еще идти? На всяких хабрах не хочу палить годноту.> чтобы кто-то сказал какой ты охуенныйНет, одному просто влом их сайт пинать. Например там есть переменные для установки позиции, с которой догружается контент, но в некоторых случаях не понятно, откуда они берутся. Надеюсь, что тут найдутся энтузиасты, которым периодически приходится работать с Api инсты, которые помогут разобрать по частям сайт этих ублюдков.> чмошник> нахуй> быдло-парашникОсталось только про поедание говна из американских жоп добавить.
На мой взгляд инфа относительно годная. Но без постинга смысла в ней нет (лайкинг и фолловинг уже имплементятся через веб-интерфейс).Инстаграм пидорасы и ублюдки. Они только провоцируют больший спам своей хуйней, вместо того чтобы принимать адекватные меры (выявление поведенческих, скрытие из ленты, удаление по репортам).
>>92639ты чё, бичара! пиздуй статейники клепать на вп. таком же дырявом как анус твоей мамки.
>>92731ОП снова тут.Решил написать бота, в рамках этого процесса изучаю данный вопрос. Не хочу через всякие селениумы с браузером работать, это достаточно ресурсоёмко по сравнению с отправкой простых http запросов.Для получения персонализированной информации достаточно всего лишь куки. Для совершения действий, типо лайки подписки еще нужен заголовок x-csrftoken:, в нем содержится что-то вроде хэша сессии, взять его можно из приходящих куки.set-cookie:csrftoken={токен};Лайкиhttps://www.instagram.com/web/likes/{id_поста}/{like|unlike}/Подпискиhttps://www.instagram.com/web/friendships/{id_пользователя}/{follow|unfollow}/Все это отправляется методом POST. Обязательно передать куки и x-csrftoken, желательно еще юзерагент.Пока еще пердолюсь с логином, делается он через отправку POST запроса по адресуhttps://www.instagram.com/accounts/login/ajax/нужно передать переменные username и password, но мне возвращается ошибка 403, хотя когда все делаю через сайт даже при неправильных данных код ответа 200Пока туплю с тем, что именно не сходится. В куки вроде ничего не меняется, в заголовках других тоже. В общем наверное то, как залогиниться в обход веб интерфейса - самая главная на данный момент проблема.
Кто знает почем почему прямой переход по ссылке на геолокацию 501 выбивает? https://www.instagram.com/explore/locations/637976185/(красная площадь)
Разобрался. Походу инстаграм запрещает прямые переходы (с адресной строки), в отличие от переходов с сохраненных страниц(по тегам a) для геолокаций
>>92797Просто некоторые вещи надо брать через https://www.instagram.com/query/Например твоя красная площадьhttps://www.instagram.com/query/?q=ig_location(637976185)+%7B+media.after(1266515888681876449%2C+12)+%7B%0A++count%2C%0A++nodes+%7B%0A++++caption%2C%0A++++code%2C%0A++++comments+%7B%0A++++++count%0A++++%7D%2C%0A++++date%2C%0A++++dimensions+%7B%0A++++++height%2C%0A++++++width%0A++++%7D%2C%0A++++display_src%2C%0A++++id%2C%0A++++is_video%2C%0A++++likes+%7B%0A++++++count%0A++++%7D%2C%0A++++owner+%7B%0A++++++id%0A++++%7D%2C%0A++++thumbnail_src%2C%0A++++video_views%0A++%7D%2C%0A++page_info%0A%7D%0A+%7D&ref=locations%3A%3AshowНужно передать 2 переменные со следующими даннымиq:ig_location(637976185) { media.after(1266515888681876449, 12) { count, nodes { caption, code, comments { count }, date, dimensions { height, width }, display_src, id, is_video, likes { count }, owner { id }, thumbnail_src, video_views }, page_info} }ref:locations::showPOST или GET не важно
>>92798Единственный момент, как взять id точки локации, над этим пока надо подумать.
А это уже через api можно брать, песочница позволяетhttps://api.instagram.com/v1/locations/search?lat=широта&lng=Долгота&access_token=Токен
Разобрался, что не так было с логиномНеобходимо передавать заголовокreferer: https://www.instagram.com/accounts/login/И переменные должны быть не в адресной строке, а в теле запроса.То есть запрос будет выглядеть следующим образомPOST /accounts/login/ajax/ HTTP/1.1HOST: www.instagram.comcookie: test=123; csrftoken=f6ad069f6b9c1013a52292d42c2609e0; mid=V1VV4QAEAAEHrxlXoTBPW6z-ZQ-Lreferer: https://www.instagram.com/accounts/login/user-agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36x-csrftoken: f6ad069f6b9c1013a52292d42c2609e0content-length: 23 username=fgdf&password=
>>92804Бро, не обижайся, но проигрываю с твоих открытий.Ковыряю приватные API несколько лет. И хобби, и бизнес уже.
>>92808Ну, мне впервые приходится с таким разбираться. И конкретно для приватного апи инстаграма я не нашел подходящего решения. С учетом недавно введенной в действие новой политики инстаграма относительно своего API для разработчиков, полагаю данный тред может быть полезен.
>>92809Дружэ, раз у тебя все уже поставленно на поток, то оставь пожалуйста мыло свое,спрошу про цену и заказ дам если все ок.
>>92808Дружэ, раз у тебя все уже поставленно на поток, то оставь пожалуйста мыло свое,спрошу про цену и заказ дам если все ок.
>>92614 (OP)о да, фл.ру полон мольб о помощи разрабов, которые хотят, чтобы им скриптом авторизовались.
>>92614 (OP)ох, няша. Где ты раньше был!Был проект который подтягивал фотки по хэштегам. Но после изучения нового api, я сказал заказчикам что теперь ничего не получится... Сказать что они расстроили - ничего не сказать.
Как все фотки получить?
>>93163Почему не получится?Новый API не хуже старого, во многом даже лучше.Что тебе не вкатило?
>>93245Тем, что из режима песочницы хрен выйдешь и работать можешь не более, чем с 5 аккаунтами и то с их разрешения.Не >>93163 кун
Кстати, эта тема не пропадет опять через пару месяцев? Или это сам инстаграм специально оставил?
>>92614 (OP)Погодь, ну так в любом случае ты собираешь n первых постов, верно? То есть всё посмотреть не получится
>>93275Используй пагинацию. Передавай еще get параметр max_id. Значение нужно брать из "end_cursor". Находится в media->page_info->end_cursor
>>92614 (OP)Не представляю, какие профиты можно с этого поиметь.
Инстануб вкатился. Аноны, неужели нет скрипта для быстрого скачивания профиля инста?
>>93245Что ты, блядь, несешь? Я уже третий день втыкаю в эту залупу и не понимат как оно работает. Приложение создал, secret ID есть, client secret есть, иду в браузере сюда>https://api.instagram.com/oauth/authorize/?client_id=111&redirect_uri=https://site.com/&response_type=code&scope=public_content+basic+follower_list+likes+comments+relationshipsкопирую access_token, вставляю в скрипт иииииииии ниииииихуя!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111111111111111111111111111111111111111111111111111111 >OAuthAccessTokenException (400): The access_token provided is invalid>OAuthAccessTokenException (400): The access_token provided is invalid>OAuthAccessTokenException (400): The access_token provided is invalidБЛЯДЬ, МНЕ ТА ПЕРДАК РАЗРЫВАЕТ ОТ ТУПОСТИ ЭТИХ ДЕГЕНЕРАТОВ. Хоть бы посмотрели как у того же вконтача сделано. Пиздец, бля, пиздец.
>>93163Это ты тот, что на апворке просил token'ы достать?
>>92615>>92616>>92638Как жаль что так нельзя получить все страницы. А вообще, есть отреверсенное приложение и приватное апи.
>>93859Почему нельзя?
>>93871Попробуй, убедишься что /?__a=3 отдается первая страница.
>>93891а пагинацию использовать, не?
>>93895А =3 что по-твоему?
>>93896рукалицо__a это флаг, который возвращает json данные. Для пагинации читай api инстаграма и юзай так же
>>93897Лол, ну ок, я проебался. Все равно, проще взять готовое, хоть и на пхп, чем ебаться с пагинацией самому.и
бамп
Как дербанить контент с инсты через rss? Нагуглил только какую-то хуйню с миниатюрами картинок, но это не то.
Бамп треда. Метод постом не работает. Как выдерать инфу теперь?
>>98545Конкретно что не работает? Я к примеру благодаря этому коду, целый функциональный бот написал, работает чётко на локалке. Продвигаю CPA-товары.
>>98787Как открыть ВТОРУЮ страницу фоток? /querry/ теперь закрыт, а /?__a=1 дает только первую порцию фоток и все.
>>98893если нужно кому : для листания страниц юзайте &max_tag_id={последний_id_в_списке}
Господа, прошу помощи:При формировании POST запроса на "https://www.instagram.com/web/friendships/XXXXXXX/follow/" получаю 403 Forbiden и сообщение "This page could not be loaded. If you have cookies disabled in your browser, or you are browsing in Private Mode, please try enabling cookies or turning off Private Mode, and then retrying your action".Сам код:$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/web/friendships/XXXXXXX/follow/");curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, "x-csrftoken=YYYYYYYYYYYYYY";curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'user-agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2900.1 Iron Safari/537.36', 'origin:https://www.instagram.com', 'referer:https://www.instagram.com/', 'x-csrftoken:YYYYYYYYYYYYYY', 'x-instagram-ajax:1', 'x-requested-with:XMLHttpRequest' ));curl_setopt($ch, CURLOPT_COOKIE, json_decode(file_get_contents("cookies.txt"),true));$result = curl_exec($ch);Если убрать CURLOPT_POSTFIELDS x-csrftoken, то получаю ошибку 400 Bad Request, если убрать curl_setopt($ch, CURLOPT_POST, 1) - то ошибку 405 Method not allowed.Куки нормальные, файл на месте. Токен тоже нормальный, залогиненную страницу получить могу.В чём подвох?
>>100205Cмари на жидхабе для твоего пхп есть либа.
>>100222>жидхабТам есть пример на питоне, да и тот использует api. А мне без него надо. И на php
>>100205В общем, методом тыка понял, что только при таком запросе срабатывает:$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/web/friendships/XXXXXXX/follow/");curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, "x-csrftoken=".file_get_contents("csrftoken.txt")); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Host: www.instagram.com', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:46.0) Gecko/20100101 Firefox/46.0', 'Accept: /', 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding: gzip, deflate, br', 'X-CSRFToken: '.file_get_contents("csrftoken.txt"), 'X-Instagram-AJAX: 1', 'Content-Type: application/x-www-form-urlencoded', 'X-Requested-With: XMLHttpRequest', 'Referer: https://www.instagram.com/YYYYYY/following/', 'Cookie: '.substr(file_get_contents("cookies.txt"),1,-1), //Так как содержимое файла куки заключено в кавычки 'Connection: keep-alive', 'Pragma: no-cache', 'Cache-Control: no-cache', 'Content-Length: 0'));$result = curl_exec($ch);Отдельно передавать куки как параметр не нужно. Вот так сработало.
>>100286>PHPсъеби
получение подписчиков через https://www.instagram.com/query/ методом POST больше не работает? как генерить query_id если запрашивать подписчиков методом GET?
https://github.com/mgp25/Instagram-APIтам же линк для питона