Comments 72
За два последних года исходный код страницы в веб-версии Instagram кардинально менялся два раза (меняли названия переменных, содержание), плюс они могут добавлять и удалять пробелы в синтаксисе по своему усмотрению.
Ну и использовать explode для получения подстроки в строке, это по меньшей мере кощунство. Можно было применить substr+strpos, preg_match, strstr.
Ну и использовать explode для получения подстроки в строке, это по меньшей мере кощунство. Можно было применить substr+strpos, preg_match, strstr.
Информацию о пользователе можно получить сразу в JSON: https://www.instagram.com/kevin/?__a=1
Тоже самое с отдельным постом: https://www.instagram.com/p/BGBgSw0tpHQ/?__a=1
Тоже самое с отдельным постом: https://www.instagram.com/p/BGBgSw0tpHQ/?__a=1
О, вот это круто! Надеюсь переживет 1 июня, добавим как альтернативу
Похоже, что пережило.
Ага, я уже залил изменения, но до релиза еще надо дописать один метод и все оттестить
вы не знаете есть способ для нахождения фотографий по местам? lat=...&long=...?
Да, вот такой https://www.instagram.com/explore/locations/278608830/?__a=1 только нужно прописать в хедер REFERER = https://www.instagram.com и будет JSON, а не пустой ответ
а что по скорости работы в отличии от API?
Я наверное нехороший буратино, но я бы наверное пошёл по пути разбора официального приложения и дёргания их API с их ключами. Собственно, мало чем отличается, только так есть хотя бы документированный API.
А вы постите действительно реальными устройствами или все же через эмулятор? И, кстати, почему №1 вы для постинга?) Никогда не слышал про вас.
Да, действительно с реальных устройств, вот видео-пруф: https://www.youtube.com/watch?v=CsJKb4RX-jo
Эмуляторы не используем, но со счетов их не скидываем.
Парень, который занимался PR предложил так написать =D Когда разбирались в теме, мы нашли только одну компанию, которая заявила, что использует настоящие устройства schedugr.am, но подтверждение их слов мы не видели. Остальные сервисы пользуются приватным API.
Кажется о нас вообще мало кто слышал, потому что рекламой мы активно не занимаемся пока.
Эмуляторы не используем, но со счетов их не скидываем.
Парень, который занимался PR предложил так написать =D Когда разбирались в теме, мы нашли только одну компанию, которая заявила, что использует настоящие устройства schedugr.am, но подтверждение их слов мы не видели. Остальные сервисы пользуются приватным API.
Кажется о нас вообще мало кто слышал, потому что рекламой мы активно не занимаемся пока.
preg_match('/window\._sharedData = (.+);/ui', $content, $matches);
Максимально доступное качество фото можно получить, удалив все кроме /t/ из ссылки — https://scontent.cdninstagram.com/t/12950481_1753078061593396_874826488_n.jpg, через параметры в ссылке можно управлять размером и кропом.
или вот так: https://instagram.com/p/9BDXa_L7bm/media/?size=l
Лента залогиненного пользователя в JSON: https://www.instagram.com/?__a=1
Без сессии ответ будет пустой {}
или вот так: https://instagram.com/p/9BDXa_L7bm/media/?size=l
Лента залогиненного пользователя в JSON: https://www.instagram.com/?__a=1
Без сессии ответ будет пустой {}
Зарепортили баг с пагинацией по хештегам
В коде библиотеки пагинация сделана через передачу параметра max_id.
И сейчас он не работает, то есть первая пачка медиа есть, но следующая возвращается с пустым массивом.
На сколько я понял параметр max_id, то работает, то не работает. Не знаете стабильный способ?
В коде библиотеки пагинация сделана через передачу параметра max_id.
И сейчас он не работает, то есть первая пачка медиа есть, но следующая возвращается с пустым массивом.
На сколько я понял параметр max_id, то работает, то не работает. Не знаете стабильный способ?
вроде с tag.media.page_info.end_cursor в качестве max_id что-то меняется в фиде, пока не разбирался
Действительно -_- Спасибо! Сейчас запилю
Вы есть на гитхабе?
Вы есть на гитхабе?
С тегами не проверял, но про страницу геолокации (https://www.instagram.com/explore/locations/278324317/) точно могу сказать, что фид меняется и в случае использования start_cursor, в случае использования end_cursor. Причем если смотреть на время картинок, то всегда выдаются более поздние картинки (и при start_cursor, и при end_cursor)
Перепутал — выдаются более ранние картинки
А вы не знаете как получить из user_id username?
Знаю только способы с использованием приватного или официального апи
Хотя… Если для каждого пользователя хранить какую-либо картинку (идентификатор картинки), то получив информацию о картинке, можно узнать новое имя пользователя
Например, можно добавить метом getUserByMediaId. А ссылку на фото/видео получать из mediaId вот таким путем
Но все равно не очень удобно получается.
Но все равно не очень удобно получается.
Странно, но сейчас max_id=mediaId работает опять и в тоже время max_id=end_cursor тоже работает
https://www.instagram.com/explore/tags/test/?__a=1 перестал работать (
Круто!
А как управлять размером и кропом через параметры?
Если не секрет, каким способом находятся такие ссылки?
Обязательно добавим это в библиотеку.
А как управлять размером и кропом через параметры?
Если не секрет, каким способом находятся такие ссылки?
Обязательно добавим это в библиотеку.
у меня популярное приложение на instagram api и я озадачился этим вопросом достаточно давно. нашел перебором параметров и изучением скриптов.
управление кропом описано тут
управление кропом описано тут
Вот gem для Ruby на основе информации из этого поста и комментариев:
https://github.com/sborod/ruby-instagram-scraper
https://github.com/sborod/ruby-instagram-scraper
Это хороший конечно способ, но может быть у нас уже появился рынок верифицированных клиентов, или хотя-бы access_token?
Передо мной тоже была цель вытянуть несколько фотографий, так как с начала месяца старые скрипты рухнули. И казалось бы https://www.instagram.com/username/media/ прекрасно отдает данные json. Но ведь ajax'ом нельзя вытянуть данные на моем домене с домена инстаграма. Ок, берем dataType: jsonP. Не работает. Все же результат json <> jsonp
Нагуглил решение прогонять запрос через сторонний сервис: http://www.whateverorigin.org/
Получилось типа того: http://jsfiddle.net/VpGVL/
//JSON
{"name":"stackoverflow","id":5}
//JSONP
func({"name":"stackoverflow","id":5});
Нагуглил решение прогонять запрос через сторонний сервис: http://www.whateverorigin.org/
Получилось типа того: http://jsfiddle.net/VpGVL/
Кто-нибудь нашел как получить все комментарии к посту, а не только 40 последних?
пока вообще не пробовал работать с комментариями
Получилось получить все комментарии из любого media, в последнем релизе библиотеки теперь доступно: https://github.com/raiym/instagram-php-scraper
Тестил на 8 000 комменатриев.
Вот этими двумя url можно сделать пагинацию:
https://www.instagram.com/query/?q=ig_shortcode(BG3Iz-No1IZ){comments.last(300){count,nodes{id,created_at,text,user{id,profile_pic_url,username,follows{count},followed_by{count},biography,full_name,media{count},is_private,external_url,is_verified}},page_info}}
https://www.instagram.com/query/?q=ig_shortcode(BG3Iz-No1IZ){comments.before(17856915757025183,300){count,nodes{id,created_at,text,user{id,profile_pic_url,username,follows{count},followed_by{count},biography,full_name,media{count},is_private,external_url,is_verified}},page_info}}
Тестил на 8 000 комменатриев.
Вот этими двумя url можно сделать пагинацию:
https://www.instagram.com/query/?q=ig_shortcode(BG3Iz-No1IZ){comments.last(300){count,nodes{id,created_at,text,user{id,profile_pic_url,username,follows{count},followed_by{count},biography,full_name,media{count},is_private,external_url,is_verified}},page_info}}
https://www.instagram.com/query/?q=ig_shortcode(BG3Iz-No1IZ){comments.before(17856915757025183,300){count,nodes{id,created_at,text,user{id,profile_pic_url,username,follows{count},followed_by{count},biography,full_name,media{count},is_private,external_url,is_verified}},page_info}}
Есть ли способ получить username по user id?
Может кто-нибудь знает как достать все лайки у фото/видео?
https://www.instagram.com/p/%post_is%/?__a=1
{media{likes{nodes}}}
Не оно?
{media{likes{nodes}}}
Не оно?
А как сделать, например, пагинацию? Чтобы получить все лайки. Насколько я понял нужно залогиниться, без этого нельзя.
Логиниться не обязательно, но как сделать пагинацию меня тоже интересует, потому что показывает только 10 лайкнувших.
А вы не поняли как получить все лайки?
Нет, советую посмотреть https://github.com/mgp25/Instagram-API
Как получить все ссылки на изображения по хештегу? Библиотека умеет такое?
И с авторизацией больше данных отдаётся через параметр "?__a=1". Удалось как-нибудь прикрутить авторизацию?
И с авторизацией больше данных отдаётся через параметр "?__a=1". Удалось как-нибудь прикрутить авторизацию?
Получать данные по хештегу Instagram::getMediasByTag('zara', 30);
По поводу авторизации — ее не будет (в ближайшем будущем). проект для получения только публичных данных
вот есть другой: https://github.com/mgp25/Instagram-API
По поводу авторизации — ее не будет (в ближайшем будущем). проект для получения только публичных данных
вот есть другой: https://github.com/mgp25/Instagram-API
Не нашел не в исходниках, не в описании, как получить список подписчиков. Я вижу кол-во, но мне нужен конкретный список.
Альтернатива метода
Альтернатива метода
/self/follows
Ну вот параметр '?__a=1' отключили… что будете делать?
Sign up to leave a comment.
Что делать если Instagram не дал доступ к API?