Web-Scraping, отрисовка JavaScript до получения html - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь сделать мой первый веб-скребок. Я хочу получить статус серверов RainbowSix. Просматривая веб-страницу, я обнаружил, как искать состояние серверов P C:

<div class="col-sm-2 col-md-2" id="dvPC">
        <img class="" id="onlinePC" src="https://.../online.png"/>
        <img class="hidden" id="interruptedPC" src="https://.../interrupted.png"/>
        <img class="hidden" id="degradedPC" src="https://.../degradation.png"/>
        <img class="hidden" id="maintenancePC" src="https://.../maintenance.png"/>
        <span class="consoleTitle online" id="hdPC" style="width: 50px;">  PC  </span>
</div>

Здесь, когда сервер подключен к сети, img с идентификатором «onlineP C» не имеет класса » скрытый », а класс span -« consoleTitle онлайн », в противном случае это будет« consoleTitle прерывается »(или любой другой параметр).

Итак, мой код (не завершен, из курс):

import requests
from bs4 import BeautifulSoup

url = 'https://.../status/'
response = requests.get(url)

soup = BeautifulSoup(response.content, "html5lib")
div = soup.find('div', attrs={'id':'dvPC'}) #Here I look for the div with the PC status, because the webpage also shows the status of PS4 and Xbox servers.
print(div)

Вывод print (div) :

<div class="col-sm-2 col-md-2" id="dvPC">
        <img class="hidden" id="onlinePC" src="https://.../online.png"/>
        <img class="hidden" id="interruptedPC" src="https://.../interrupted.png"/>
        <img class="hidden" id="degradedPC" src="https://.../degradation.png"/>
        <img class="hidden" id="maintenancePC" src="https://.../maintenance.png"/>
        <span class="consoleTitle" id="hdPC" style="width: 50px;">  PC  </span>
</div>

Как видите, все скрыто и пролет класс неполный. Я предполагаю, что есть скрипт, который определяет скрытые изображения и класс span. Как я могу "визуализировать" этот скрипт, чтобы получить правильный вывод html?

Надеюсь, я все прояснил.

...