thisページをスクレイプして、世代データを後でパーサに渡すようにしています。JavaScriptで塗りつぶされたページ
私の問題は、テーブルが別のサーバーに要求を行う複数のスクリプトによって作成されていることです。美しいスープはページを傷つけますが、javascriptは実行されません。だから私はセレンを使用して、ブラウザでページを開いて、ポピュレートされたテーブルを掻き集めようとしています。
私のコードを実行すると、Firefoxがページを読み込んで閉じますが、BSはまだテーブルが読み込まれずにページを返します。一度完全にロードされたウェブコンソールを使用してページを検査しようとしましたが、必要なデータが表示されます。つまり、1つのデータポイントはdivタグのclass = "r11"に含まれています。このタグを検索するとNoneが返されます。
私はセレンを間違って使用している、またはb)ページの書式設定がサーバーの「サブ文書」(正しい用語がわからない)とかなり深く入れ子になっているように見えるためです。
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
arg_therm = ('http://portalweb.cammesa.com/MEMNet1/Pages/Informes%20por%20'
'Categor%C3%ADa/Operativos/VisorReporteSinComDesp_minimal.asp'
'x?hora=0&titulo=Despacho%20Generacion%20Termica&reportPath='
'http://lauzet:5000/MemNet1/ReportingServices/Despacho'
'GeneracionTermica.rdl--0--Despacho+Generaci%c3%b3n+T%c3%a9rmica')
browser = webdriver.Firefox()
browser.get(arg_therm)
html_source = browser.page_source
browser.quit()
soup=BeautifulSoup(html_source,'lxml')
print(soup.prettify())
print(soup.find('div', {"class": "r11"}))
のあなたのリストを返す必要があります。それは私が必要とした情報を正確に返します。 – Chris