Web Scraping Jquery столов с BeautifulSoup и Selenium - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь получить данные из таблицы на сайте, который ежедневно обновляется с этого сайта http://mananciais.sabesp.com.br/HistoricoSistemas?SistemaId=0.

Я изучаю BeautifulSoup и Selenium и пытаюсь получить доступ к данным с помощью этих пакетов.

Тем не менее, исходный код сайта не раскрывает данные в таблице. Насколько я понимаю, сайт был создан с использованием jQuery Grid.

До сих пор я делал только это, несмотря на несколько попыток.

import os
import time
from selenium import webdriver

# Escolhe o driver
driver = webdriver.Firefox()

# Acessa o site
site = 'http://mananciais.sabesp.com.br/HistoricoSistemas'
driver.get(site)

soup = BeautifulSoup(driver.page_source, 'html.parser')

print(soup.prettify())

Как получить доступ к этим данным? Я хочу сделать анализ с этим

1 Ответ

1 голос
/ 24 марта 2020

Данные отображаются с помощью Java Сценариев. Вам нужно подождать, пока страница загрузится должным образом, прежде чем получить page_source.

Индуцировать WebDriverWait () и ждать visibility_of_element_located ()

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# Escolhe o driver

driver = webdriver.Firefox()
# Acessa o site
site = 'http://mananciais.sabesp.com.br/HistoricoSistemas'
driver.get(site)
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,"contenttabledivjqxGrid")))
soup = BeautifulSoup(driver.page_source, 'html.parser')
print(soup.prettify()) 

Надеюсь, это поможет.

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