我正试图从该站点的表中获取数据,该站点每天都会更新该表 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())
如何访问此数据? 我想对此进行分析
答案 0 :(得分:1)
数据由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())
希望这会有所帮助。