【问题标题】:How to Load the Earnings Calendar data from TradingView link and into Dataframe [closed]如何从 TradingView 链接加载收益日历数据并将其加载到 Dataframe [关闭]
【发布时间】:2023-02-11 11:27:06
【问题描述】:

我想从 TradingView 链接加载收益日历数据并加载到 Dataframe 中。

Link: https://in.tradingview.com/markets/stocks-india/earnings/
Filter-1: Data for "This Week"

我无法选择“本周”选项卡。有什么帮助吗?

【问题讨论】:

    标签: python python-3.x pandas selenium web-scraping


    【解决方案1】:

    我注意到很少有以i-hidden 类为特征的隐藏列。因此,首先我们只选择可见的列。然后我们得到这些列的data-field,这样我们就可以在行中选择对应的值了。接下来我们得到表的标题和行。然后我们遍历数据字段以获取每列中的所有单元格值。最后,我们从一个以标题为键、以列为值的字典创建数据框。

    visible_columns = driver.find_elements(By.CSS_SELECTOR, 'div.tv-screener__content-pane thead th:not([class*=i-hidden])')
    data_field = [c.get_attribute('data-field') for c in visible_columns]
    header = [c.text.split('
    ')[0] for c in visible_columns]
    rows = driver.find_elements(By.XPATH, "//div[@class='tv-screener__content-pane']//tbody/tr")
    columns = []
    
    for field in data_field:
        column = driver.find_elements(By.XPATH, f"//div[@class='tv-screener__content-pane']//tbody/tr/td[@data-field-key='{field}']")
        columns.append([col.text.replace('
    ',' - ') for col in column])
    
    pd.DataFrame(dict(zip(header, columns)))
    

    输出

    【讨论】:

    • 如何为“本周”选择数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    相关资源
    最近更新 更多