Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред


<<
[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 50 | 2 | 27

Instagram соснул со своим API Аноним 03/06/16 Птн 00:29:54  92614  
(17Кб, 335x196)
Мне кажется эта тема стоит отдельного треда.

Если кто не в теме, Instagram очень крупно поднасрал всем разработчикам, введя необходимость авторизации конкретного пользователя для использования api. Но немного попинав их сайт я обнаружил, что достаточно дописать к любой ссылке ?__a=1 и сайт выдаст вполне себе машинопонятный json.

Авторизация на сайте для этого не нужна. Данным способом можно получить любой открытый контент.

Например введя instagram.com/explore/tags/2ch/?__a=1 вы получите информация по хэштегу #2ch в json'е.

Соответственно instagram.com/abu_vip/?__a=1 - получение информации о пользователе.

В рамках этого треда предлагаю найти замену всему, что было в api инсты.

Если еще чего интересного отковыряю, буду скидывать ИТТ. Если вы найдете, то велком. Любые вопросы приветствуются.

Аноним 03/06/16 Птн 00:30:35  92615
Бамп /?__a=1
Аноним 03/06/16 Птн 00:30:56  92616
Бамп /?__a=2
Аноним 03/06/16 Птн 10:40:02  92638
Бамп /?__a=3
Аноним 03/06/16 Птн 10:55:04  92639
да иди на хуй отсюда со своим говном.
бампаешь, чтобы кто-то сказал какой ты охуенный? Нет, ты чмошник и API инстаграмма нахуй никому не нужно, быдло-парашник.
Аноним 03/06/16 Птн 11:33:20  92640
>>92639
> со своим говном
А куда еще идти? На всяких хабрах не хочу палить годноту.

> чтобы кто-то сказал какой ты охуенный
Нет, одному просто влом их сайт пинать. Например там есть переменные для установки позиции, с которой догружается контент, но в некоторых случаях не понятно, откуда они берутся. Надеюсь, что тут найдутся энтузиасты, которым периодически приходится работать с Api инсты, которые помогут разобрать по частям сайт этих ублюдков.


> чмошник
> нахуй
> быдло-парашник
Осталось только про поедание говна из американских жоп добавить.
Аноним 05/06/16 Вск 06:15:57  92731
На мой взгляд инфа относительно годная. Но без постинга смысла в ней нет (лайкинг и фолловинг уже имплементятся через веб-интерфейс).

Инстаграм пидорасы и ублюдки. Они только провоцируют больший спам своей хуйней, вместо того чтобы принимать адекватные меры (выявление поведенческих, скрытие из ленты, удаление по репортам).
Аноним 05/06/16 Вск 08:59:53  92734
>>92639
ты чё, бичара! пиздуй статейники клепать на вп. таком же дырявом как анус твоей мамки.
Аноним 06/06/16 Пнд 01:03:57  92783
>>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
Пока туплю с тем, что именно не сходится. В куки вроде ничего не меняется, в заголовках других тоже. В общем наверное то, как залогиниться в обход веб интерфейса - самая главная на данный момент проблема.
Аноним 06/06/16 Пнд 11:46:47  92795
Кто знает почем почему прямой переход по ссылке на геолокацию 501 выбивает? https://www.instagram.com/explore/locations/637976185/
(красная площадь)
Аноним 06/06/16 Пнд 12:58:10  92797
Разобрался. Походу инстаграм запрещает прямые переходы (с адресной строки), в отличие от переходов с сохраненных страниц(по тегам a) для геолокаций
Аноним 06/06/16 Пнд 13:13:13  92798
>>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::show

POST или GET не важно
Аноним 06/06/16 Пнд 13:14:26  92799
>>92798
Единственный момент, как взять id точки локации, над этим пока надо подумать.
Аноним 06/06/16 Пнд 14:08:08  92802
А это уже через api можно брать, песочница позволяет
https://api.instagram.com/v1/locations/search?lat=широта&lng=Долгота&access_token=Токен
Аноним 06/06/16 Пнд 14:23:19  92804
Разобрался, что не так было с логином

Необходимо передавать заголовок
referer: https://www.instagram.com/accounts/login/

И переменные должны быть не в адресной строке, а в теле запроса.

То есть запрос будет выглядеть следующим образом

POST /accounts/login/ajax/ HTTP/1.1
HOST: www.instagram.com
cookie: test=123; csrftoken=f6ad069f6b9c1013a52292d42c2609e0; mid=V1VV4QAEAAEHrxlXoTBPW6z-ZQ-L
referer: 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.36
x-csrftoken: f6ad069f6b9c1013a52292d42c2609e0
content-length: 23

username=fgdf&password=
Аноним 06/06/16 Пнд 18:01:53  92808
>>92804
Бро, не обижайся, но проигрываю с твоих открытий.

Ковыряю приватные API несколько лет. И хобби, и бизнес уже.
Аноним 06/06/16 Пнд 18:12:22  92809
>>92808
Ну, мне впервые приходится с таким разбираться. И конкретно для приватного апи инстаграма я не нашел подходящего решения. С учетом недавно введенной в действие новой политики инстаграма относительно своего API для разработчиков, полагаю данный тред может быть полезен.
Аноним 15/06/16 Срд 15:32:36  93039
>>92809
Дружэ, раз у тебя все уже поставленно на поток, то оставь пожалуйста мыло свое,спрошу про цену и заказ дам если все ок.
Аноним 15/06/16 Срд 15:33:03  93040
>>92808
Дружэ, раз у тебя все уже поставленно на поток, то оставь пожалуйста мыло свое,спрошу про цену и заказ дам если все ок.
Аноним 17/06/16 Птн 19:08:55  93136
>>92614 (OP)
о да, фл.ру полон мольб о помощи разрабов, которые хотят, чтобы им скриптом авторизовались.
Аноним 18/06/16 Суб 13:11:17  93163
>>92614 (OP)
ох, няша. Где ты раньше был!
Был проект который подтягивал фотки по хэштегам. Но после изучения нового api, я сказал заказчикам что теперь ничего не получится... Сказать что они расстроили - ничего не сказать.
Аноним 19/06/16 Вск 19:28:42  93198
Как все фотки получить?
Аноним 20/06/16 Пнд 19:27:59  93245
>>93163
Почему не получится?
Новый API не хуже старого, во многом даже лучше.
Что тебе не вкатило?
Аноним 20/06/16 Пнд 20:41:17  93247
>>93245
Тем, что из режима песочницы хрен выйдешь и работать можешь не более, чем с 5 аккаунтами и то с их разрешения.
Не >>93163 кун
Аноним 20/06/16 Пнд 21:50:19  93249
Кстати, эта тема не пропадет опять через пару месяцев? Или это сам инстаграм специально оставил?
Аноним 21/06/16 Втр 17:09:51  93275
>>92614 (OP)
Погодь, ну так в любом случае ты собираешь n первых постов, верно? То есть всё посмотреть не получится
Аноним 24/06/16 Птн 22:02:47  93425
>>93275
Используй пагинацию. Передавай еще get параметр max_id. Значение нужно брать из "end_cursor".
Находится в media->page_info->end_cursor
Аноним 29/06/16 Срд 17:25:26  93693
>>92614 (OP)
Не представляю, какие профиты можно с этого поиметь.
Аноним 29/06/16 Срд 20:06:21  93706
(40Кб, 600x449)
Инстануб вкатился. Аноны, неужели нет скрипта для быстрого скачивания профиля инста?
Аноним 02/07/16 Суб 12:34:46  93801
>>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
БЛЯДЬ, МНЕ ТА ПЕРДАК РАЗРЫВАЕТ ОТ ТУПОСТИ ЭТИХ ДЕГЕНЕРАТОВ. Хоть бы посмотрели как у того же вконтача сделано. Пиздец, бля, пиздец.
Аноним 04/07/16 Пнд 00:21:57  93850
>>93163
Это ты тот, что на апворке просил token'ы достать?
Аноним 04/07/16 Пнд 07:08:32  93859
>>92615
>>92616
>>92638
Как жаль что так нельзя получить все страницы. А вообще, есть отреверсенное приложение и приватное апи.
Аноним 04/07/16 Пнд 10:20:52  93871
>>93859
Почему нельзя?
Аноним 04/07/16 Пнд 18:53:02  93891
>>93871
Попробуй, убедишься что /?__a=3 отдается первая страница.
Аноним 04/07/16 Пнд 22:04:02  93895
>>93891
а пагинацию использовать, не?
Аноним 04/07/16 Пнд 22:16:29  93896
>>93895
А =3 что по-твоему?
Аноним 04/07/16 Пнд 23:55:27  93897
>>93896
рукалицо
__a это флаг, который возвращает json данные.
Для пагинации читай api инстаграма и юзай так же
Аноним 05/07/16 Втр 08:04:49  93902
>>93897
Лол, ну ок, я проебался. Все равно, проще взять готовое, хоть и на пхп, чем ебаться с пагинацией самому.и
Аноним 16/11/16 Срд 23:11:38  98041
бамп
Аноним 16/11/16 Срд 23:28:04  98042
Как дербанить контент с инсты через rss? Нагуглил только какую-то хуйню с миниатюрами картинок, но это не то.
Аноним 01/12/16 Чтв 13:42:22  98545
Бамп треда. Метод постом не работает. Как выдерать инфу теперь?
Аноним 09/12/16 Птн 08:32:57  98787
>>98545
Конкретно что не работает? Я к примеру благодаря этому коду, целый функциональный бот написал, работает чётко на локалке. Продвигаю CPA-товары.

Аноним 13/12/16 Втр 17:04:13  98893
>>98787
Как открыть ВТОРУЮ страницу фоток? /querry/ теперь закрыт, а /?__a=1 дает только первую порцию фоток и все.
Аноним 13/01/17 Птн 17:00:30  99849
>>98893
если нужно кому : для листания страниц юзайте &max_tag_id={последний_id_в_списке}
Аноним 26/01/17 Чтв 14:19:46  100205
Господа, прошу помощи:

При формировании 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.

Куки нормальные, файл на месте. Токен тоже нормальный, залогиненную страницу получить могу.

В чём подвох?
Аноним 27/01/17 Птн 00:01:31  100222
>>100205
Cмари на жидхабе для твоего пхп есть либа.
Аноним 27/01/17 Птн 19:00:29  100264
>>100222
>жидхаб
Там есть пример на питоне, да и тот использует api. А мне без него надо. И на php
Аноним 28/01/17 Суб 12:27:45  100286
>>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);

Отдельно передавать куки как параметр не нужно. Вот так сработало.
Аноним 29/01/17 Вск 01:37:21  100301
>>100286
>PHP
съеби
ракетчик 17/06/17 Суб 17:51:05  105221
получение подписчиков через https://www.instagram.com/query/ методом POST больше не работает? как генерить query_id если запрашивать подписчиков методом GET?
Аноним 26/08/17 Суб 00:36:07  106526
https://github.com/mgp25/Instagram-API
там же линк для питона


Топ тредов
Избранное