python selenium pandas 一部情報のみ取得
解決したいこと
https://etherscan.io/token/0x846c66cf71c43f80403b51fe3906b3599d63336f#balances
このサイトで下記コードの指定情報を「全て」取得したいが、一部情報しかエクセル(or csv)に取得できない。
現状のコードでは、一番最後の情報のみエクセル(or csv)に反映されている状況です。
どうすれば、全情報を書き込めるのか教えてください。
該当するソースコード
from selenium import webdriver
from time import sleep
import pandas as pd
options = webdriver.ChromeOptions()
#options.add_argument('--headless')
driver = webdriver.Chrome(options = options)
driver.implicitly_wait(10)
driver.get('https://etherscan.io/token/0x846c66cf71c43f80403b51fe3906b3599d63336f#balances')
sleep(1)
iframe = driver.find_element_by_css_selector('#tokeholdersiframe')
driver.switch_to.frame(iframe)
address_site = driver.find_elements_by_css_selector('table.table > tbody > tr > td:nth-of-type(2) > span > a')
addresses = [e.get_attribute('href') for e in address_site]
for address in addresses:
driver.get(address)
sleep(1)
iframe_2 = driver.find_element_by_css_selector('#tokentxnsiframe')
driver.switch_to.frame(iframe_2)
past_days = driver.find_elements_by_css_selector('table.table > tbody > tr > td:nth-of-type(5) > span')
label = driver.find_elements_by_css_selector('table.table > tbody > tr > td:nth-of-type(7) > span')
quantity = driver.find_elements_by_css_selector('table.table > tbody > tr > td:nth-of-type(9)')
d_list = []
for p,l,q in zip(past_days,label,quantity):
p_days = p.text
lab = l.text
qua = q.text
d = {
'When?':p_days,
'Label?':lab,
'How much?':qua
}
d_list.append(d)
df = pd.DataFrame(d_list)
print(df)
df.to_csv('puma_num.csv',index=None,encoding='utf-8-sig')
0 likes