Как проскролить страницу или загрузить больше данных на сайте?
Есть скрипт который получает ссылки на картинки, и сейчас получает только 12 ссылок.
Место(инстаграм) откуда он получает их имеет очень много ссылок.
При загрузке скрипта он получает только 12 ссылок, хотя никаких условий в кол-во я не выставлял.
Скрипт не загружает все ссылки потому-что инстаграм прогружает только первые 12, мне кажется нужно прописать функцию на загрузку страницы или просмотр её до "конца" но как это сделать?
Подскажите может ссылку на статью или пример похожего кода если есть, спасибо.
Проскролить на похапэ? Это всёравно что владеть телекинезом. Очевидно, что нужно либо: а) эмулировать клинета(браузер) б) посмотреть запрос инстограма, может там банально offset какой есть.
s l a v e, Первое, что нужно сделать - это зайти в инстограм, нажать f12, поскролить вниз и проанализировать, отправившийся запрос, если там ничего хитрого не придумано, то можно просто делать такие же запросы программно из PHP.
Если там чёт мудрёное, то да, нужен headless browser. Phantomjs - вроде уже не мейнтейнят, но это не точно, сейчас Selenium на слуху. Я не пользовался ни одним headless browser'ом, если мне нужно совладать с асинхронщиной, то я сразу на JS пишу, если без асинхронщины, то на Python.
Можете использовать эту библиотеку https://github.com/postaddictme/instagram-php-scraper
Под копотом парсинг веб-версии инстаграма.
Получение списка постов аккаунта может делать без авторизации, и функция листания страниц присутствует
Так же может понадобится прокси для смены ip, так как если парсить данные будете часто и активно то блок по ip гарантирован.
Не обязательно. Там скорее всего пагинация. Посмотрите, какой запрос уходит на сервер при скроле страницы. Измените параметры этого запроса и вам будет возвращаться следующая партия картинок.
Надо смотреть запрос, который отправляется каждый раз, когда вы скролите страницу. Исследовать параметры запроса. Исследовать параметры ответа. Дублировать запрос с изменннными параметрами. Не обязательно query параметры. Это могут быть и хидеры. И path parameters.