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


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


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

Instagram соснул со своим API Аноним 02/06/16 Чтв 21: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 инсты.

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

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

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


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

Инстаграм пидорасы и ублюдки. Они только провоцируют больший спам своей хуйней, вместо того чтобы принимать адекватные меры (выявление поведенческих, скрытие из ленты, удаление по репортам).
Ответы: >>92783
Аноним 05/06/16 Вск 05:59:53 92734
>>92639
ты чё, бичара! пиздуй статейники клепать на вп. таком же дырявом как анус твоей мамки.
Аноним 05/06/16 Вск 22: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 Пнд 08:46:47 92795
Кто знает почем почему прямой переход по ссылке на геолокацию 501 выбивает? https://www.instagram.com/explore/locations/637976185/
(красная площадь)
Аноним 06/06/16 Пнд 09:58:10 92797
Разобрался. Походу инстаграм запрещает прямые переходы (с адресной строки), в отличие от переходов с сохраненных страниц(по тегам a) для геолокаций
Ответы: >>92798
Аноним 06/06/16 Пнд 10: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 не важно
Ответы: >>92799
Аноним 06/06/16 Пнд 10:14:26 92799
>>92798
Единственный момент, как взять id точки локации, над этим пока надо подумать.
Аноним 06/06/16 Пнд 11:08:08 92802
А это уже через api можно брать, песочница позволяет
https://api.instagram.com/v1/locations/search?lat=широта&lng=Долгота&access_token=Токен
Аноним 06/06/16 Пнд 11: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=
Ответы: >>92808
Аноним 06/06/16 Пнд 15:01:53 92808
>>92804
Бро, не обижайся, но проигрываю с твоих открытий.

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

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

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

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

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


Топ тредов
Избранное
Подписывайся на официальный канал Двача в Телеграме и узнавай обо всех новостях и мемах первым! https://tlg.wtf/dvachannel[X]