from bs4 import BeautifulSoup import requests import pandas as pd import re url="https://infopasazer.intercity.pl/?p=station&id=33605" html_content = requests.get(url) html_content.encoding = "utf-8" soup = BeautifulSoup(html_content.text, "lxml") gdp = soup.find_all("table", attrs={"class": "table table-delay mbn"}) print("Number of tables on site: ",len(gdp)) table1 = gdp[0] body = table1.find_all("tr") head = body[0] body_rows = body[1:] headings = ['Numer', 'Przewoznik', 'Data', 'Relacja', 'Przyjazd_plan', 'Opoznienie'] all_rows = [] for row_num in range(len(body_rows)): row = [] for row_item in body_rows[row_num].find_all("td"): aa = re.sub("(\xa0)|(\n)|,","",row_item.text) row.append(aa) all_rows.append(row) df = pd.DataFrame(data=all_rows,columns=headings) #print all connections from 'Warszawa Centralna' from current time print(df) #dataframe for given connection i.e. "Kraków Główny - Gdynia Główna" from 'Warszawa Centralna' con = 'Kraków Główny - Gdynia' print() print('Departure time for connection {} from Warszawa-Centralna'.format(con)) print(df[ df['Relacja'] == 'Kraków Główny - Gdynia Główna' ]) OUTOUT: Number of tables on site: 2 Numer Przewoznik Data Relacja Przyjazd_plan Opoznienie 0 93150/1 Koleje Mazowieckie 2021-11-19 Modlin - Warszawa Centralna 01:00 0 min 1 35170/1 KARPATY PKP Intercity 2021-11-19 Kraków Główny - Gdynia Główna 05:23 0 min 2 61171/0 KARKONOSZE PKP Intercity 2021-11-19 Jelenia Góra - Warszawa Wschodnia 05:45 0 min Departure time for connection Kraków Główny - Gdynia from Warszawa-Centralna Numer Przewoznik Data Relacja Przyjazd_plan Opoznienie 1 35170/1 KARPATY PKP Intercity 2021-11-19 Kraków Główny - Gdynia Główna 05:23 0 min