Как сканировать данные, которые появляются только после нажатия кнопки? - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь сделать базу данных игровой статистики из League of Legends.Я использую https://op.gg в качестве источника и теперь могу сканировать данные, которые отображаются по умолчанию после поиска по имени, но я хочу, чтобы данные отображались только после нажатия чего-либо.

По умолчаниюHTML показывает следующее:

<div class="GameItem Lose" data-summoner-id="2919237" data-game-time="1557391914" data-game-id="3653488889" data-game-result="lose">

Но после нажатия кнопки она изменится на:

<div class="GameItem Lose extended" data-summoner-id="2919237" data-game-time="1557391914" data-game-id="3653488889" data-game-result="lose">

И данные, которые мне нужны, находятся в новых разделах.

Я пытался пройти курс по scrapy, используя Docker, но это только кажется, что объясняет, как вы можете получить предварительно загруженные данные с помощью javascript.

1 Ответ

1 голос
/ 09 мая 2019

Вы можете использовать пакет Selenium!

Я использовал его для того же случая, что и вы. Я должен был очистить все комментарии видео на YouTube. Они появляются только тогда, когда вы прокручиваете страницу вниз и ждете их загрузки. Проверьте мой код . Отказ от ответственности: это не очень хорошо прокомментировано и структурировано, так как это было упражнение для курса, который я сделал, но это дает вам идею.

Selenium имитирует, как будто вы работаете в браузере. Таким образом, вы можете увидеть его, прокрутить страницу вниз, подождать некоторое время и щелкнуть мышью Я нашел это довольно круто!

Удачи и наслаждайтесь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...