import requests from bs4 import BeautifulSoup # URL to fetch the data url = "https://www.tradingview.com/symbols/NASDAQ-META/financials-income-statement/?statements-period=FY" # Fetch the page content response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') # Extract table data table = soup.find('table') headers = [header.text for header in table.find_all('th')] rows = table.find_all('tr')[1:] data = [] for row in rows: cells = row.find_all('td') data.append([cell.text.strip() for cell in cells]) # Convert to DataFrame df_income_statement = pd.DataFrame(data, columns=headers) # Filtering data for years 2017 to 2023 including TTM years_filter = ['2017', '2018', '2019', '2020', '2021', '2022', '2023', 'TTM'] df_filtered = df_income_statement[df_income_statement['Period'].isin(years_filter)] # Saving to an Excel file file_path_filtered = "/mnt/data/meta_income_statement_filtered.xlsx" df_filtered.to_excel(file_path_filtered, index=False) import ace_tools as tools; tools.display_dataframe_to_user(name="Meta Income Statement (2017-2023)", dataframe=df_filtered) file_path_filtered