[python]コツ
DateTime
タイムゾーンawareの種類
2012-03-01T10:00:00の様に秒数まで書かれているのの後にZや、UTC、+0000がついていることがあるが形式が違うだけで意味していることは一緒でタイムゾーンを表している。上記例だと全部標準時間というだけ。
全部下記で文字列からdatetime形式に変更可能。
from dateutil import parser
date = "2023-08-05T10:09:54+0000" #文字列
date = parser.parse(date) #2023-08-05 10:09:54+00:00日付フォーマット
タイムゾーン変換
タイムゾーンawareのdatetimeのタイムゾーンを変更するのは下記のコードで出来る
from dateutil import tz
from datetime import datetime
date = "2023-08-05T10:09:54+0000" #文字列
date = parser.parse(date) #2023-08-05 10:09:54+00:00日付フォーマット
jstDate = date.astimezone(JST) #2023-08-05 19:09:54+09:00
Selenium
iframe内にある要素を取得する
iframe内の要素はiframeを特定しないと取得出来ない。
iframe= driver.find_element_by_id("main_list")
driver.switch_to.frame(iframe)
contentList = driver.find_element(By.ID, "main-list")
テーブル内の要素を取得する
table→tbody→tr要素の構成で存在するウェブサイトのテーブルから要素を取得する際はtable要素をidなどで指定し、それをget_attribute("outerHTML")する。
取得したouterHTMLをリスト化する事で読める。
try:
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'main-list-table')))
except TimeoutException:
pass # Handle the exception here
table = driver.find_element_by_id('main-list-table').get_attribute('outerHTML')
df_temp_data = pd.read_html(table)
この記事が気に入ったらサポートをしてみませんか?