我嘗試使用 Selenium 抓取網站。當我嘗試獲取硬幣名稱時遇到問題。因為'td'里面有2個元素我怎樣才能擺脫另一個我不想要的元素。或僅跟蹤其第一個元素。(我找到了這篇
我希望輸入看起來像這樣,所以我可以從中制作資料框
['Civic(CVC)', 'Bitcoin SV(BSV)', 'Ethereum(ETH)', 'Bitkub Coin(KUB)', 'Compound(COMP)', 'Curve DAO Token(CRV)', .... ]
uj5u.com熱心網友回復:
根據您當前的輸出:
['Civic(CVC)', '(CVC)', 'Bitcoin SV(BSV)', '(BSV)', 'Ethereum(ETH)', '(ETH)', 'Bitkub Coin(KUB)', '(KUB)', 'Compound(COMP)', '(COMP)', 'Curve DAO Token(CRV)', '(CRV)', .... ]
您可以跳過每個替代元素并使用串列推導創建一個新串列,如下所示:
# coin_name = [my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//tbody//tr//td[2]//span")))]
coin_name = ['Civic(CVC)', '(CVC)', 'Bitcoin SV(BSV)', '(BSV)', 'Ethereum(ETH)', '(ETH)', 'Bitkub Coin(KUB)', '(KUB)', 'Compound(COMP)', '(COMP)', 'Curve DAO Token(CRV)', '(CRV)']
res = [coin_name[i] for i in range(len(coin_name)) if i % 2 == 0]
print (res)
控制臺輸出:
['Civic(CVC)', 'Bitcoin SV(BSV)', 'Ethereum(ETH)', 'Bitkub Coin(KUB)', 'Compound(COMP)', 'Curve DAO Token(CRV)']
uj5u.com熱心網友回復:
希望這可以幫助:
for name in coin_name:
if name[0] == "(":
coin_name.remove(name)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/424260.html
下一篇:從電子郵件中提取資料
