Hi, I'm trying to extract a table from a webpage and have tried a number of alternatives, but the table always seems to remain empty.
Two of what I thought were the most promising sets of code are attached below. Any means of extracting the data from the webpage would be considered as helpful. I have also included a screenshot of the table I want to extract.
Two of what I thought were the most promising sets of code are attached below. Any means of extracting the data from the webpage would be considered as helpful. I have also included a screenshot of the table I want to extract.
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC browser = webdriver.Chrome() browser.set_window_size(1120, 550) # Create an URL object url = 'https://www.flightradar24.com/data/aircraft/ja11jc' browser.get(url) element = WebDriverWait(browser, 3).until( EC.presence_of_element_located((By.ID, "tbl-datatable")) ) data = element.get_attribute('tbl-datatable') print(data) browser.quit()or
# Import libraries import requests from bs4 import BeautifulSoup import pandas as pd # Create an URL object url = 'https://www.flightradar24.com/data/aircraft/ja11jc' # Create object page page = requests.get(url) # parser-lxml = Change html to Python friendly format # Obtain page's information soup = BeautifulSoup(page.text, 'lxml') soup # Obtain information from tag <table> table1 = soup.find("table", id='tbl-datatable') table1 # Obtain every title of columns with tag <th> headers = [] for i in table1.find_all('th'): title = i.text headers.append(title) # Create a dataframe mydata = pd.DataFrame(columns = headers) # Create a for loop to fill mydata for j in table1.find_all('tr')[1:]: row_data = j.find_all('td') row = [i.text for i in row_data] length = len(mydata) mydata.loc[length] = row
Larz60+ write Dec-08-2022, 08:43 PM:
Please post all code, output and errors (it it's entirety) between their respective tags. Refer to BBCode help topic on how to post. Use the "Preview Post" button to make sure the code is presented as you expect before hitting the "Post Reply/Thread" button.
Fixed for you this time. Please use BBCode tags on future posts.
Please post all code, output and errors (it it's entirety) between their respective tags. Refer to BBCode help topic on how to post. Use the "Preview Post" button to make sure the code is presented as you expect before hitting the "Post Reply/Thread" button.
Fixed for you this time. Please use BBCode tags on future posts.