Как парсить подгружающуюся информацию?

LH
На сайте с 26.09.2013
Offline
89
908

Например комментарии к Ютуб видео.

чтобы посмотреть( подгрузить ) остальные комментарии, надо прокручивать страницу.

Как парсить такую страницу?

Апокалипсис
На сайте с 02.11.2008
Offline
391
#1

Leonid H, Эмулировать прокрутку. Смотрите ajax запросы к серверу.

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
Segey
На сайте с 23.08.2005
Offline
404
#2
Leonid H:
Например комментарии к Ютуб видео.
чтобы посмотреть( подгрузить ) остальные комментарии, надо прокручивать страницу.
Как парсить такую страницу?

Походить посмотреть чего там по расписанию.

Brexit - уже совсем рядом. (https://about-this-model.blogspot.com/2019/03/brexit.html)
lutskboy
На сайте с 22.11.2013
Offline
171
#3

там апи есть

M
На сайте с 04.10.2011
Offline
90
#4
Апокалипсис:
Смотрите ajax запросы к серверу.

И если повезёт (могут быть и всякие защиты) - имитировать их и получать инфу. Мне один раз повезло с китайским магазином. Они не проверяли на реальный ajax тупо отвечали на обычный post ))

Сдается, обращаться скайп avdesk-it-kmm Верстка, кодинг - контакты в профиле... VPS от 5€ (https://gmhost.com.ua/?partner=10255)
N
На сайте с 29.09.2018
Offline
9
#5

Можно использовать Selenium для парсинга этой инфы.

B
На сайте с 13.02.2008
Offline
262
#6
Leonid H:
чтобы посмотреть( подгрузить ) остальные комментарии, надо прокручивать страницу.

Прежде всего попробуйте отключить в браузере javascript посмотреть работу сайта. Если сайт будет работать без него, то вероятно там всё проще будет - обычные пагинированные страницы например.

M
На сайте с 04.12.2013
Offline
223
#7

Во-во, серьезные сайты так и устроены. Публичный контент можно получать без всяких аяксов, эмуляций и т.п. Максимум нужно обойти простую защиту от левых роботов, суть которой часто задокументирована. Ну это практически уже АПИ.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
S
На сайте с 04.10.2018
Offline
8
#8
Leonid H:
Например комментарии к Ютуб видео.
чтобы посмотреть( подгрузить ) остальные комментарии, надо прокручивать страницу.
Как парсить такую страницу?

Вариант 1:

Если есть документированное API - это лучший вариант.

Вариант 2: реверс-инжиниринг API.

Минусы: куча усилий. Которые еще и повторить придется при изменениях на сайте. Можно столкнуться с мерами противодействия сайта реверс-инжинирингу.

Плюсы: в конечном итоге будет работать быстрее пункта 3 и потреблять меньше ресурсов, чем в пункте 3. Сопоставимо с пунктом 1.

Вариант 3:

Нужен специализированный браузер, управляемый снаружи:

PhantomJS - удобнее для отладки.

SlimerJS - жрет меньше ресурсов.

Selenium - более известен, но жрет дофига ресурсов, так как это полноценный, но управляемый снаружи, браузер.

С точки зрения сайта - эти браузеры имитируют поведение пользователя.

Прокручиваем куда надо и парзим DOM.

---------- Добавлено 12.10.2018 в 15:59 ----------

miketomlin:
Во-во, серьезные сайты так и устроены. Публичный контент можно получать без всяких аяксов, эмуляций и т.п.

Фейсбук, один из крупнейших сайтов в мире - не серьезный?

---------- Добавлено 12.10.2018 в 16:02 ----------

nozzy:
Можно использовать Selenium для парсинга этой инфы.

Избыточно.

Нужен SlimerJS или PhantomJS.

Если же на сайте есть какая-то умная защита и нужна будет 100% эмуляция браузера, а той частичной эмуляции, что делает SlimerJS будет недостаточно - то только тогда и имеет смысл смотреть на Selenium.

Ибо Selenium слишком уж много ресурсов жрет.

C
На сайте с 14.10.2018
Offline
0
#9

Слушаете трафик через инструменты от лисы. При скролле, смотрите куда отправляется запрос и с какими заголовками/параметрами. Шарите страницу, определяете откуда берутся параметры для запроса и в бой.

Пишите свой генератор запросов и обрабатываете ответы.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий