Я новичок в Python и кодирования в целом. Я на 95% там, и код, который я построил, получает только первую строку таблицы из Википедии. Похоже, мне не хватает чего-то незначительного. Я также хотел бы, пожалуйста, помочь. Смотрите код ниже:
from bs4 import BeautifulSoup
import requests
import pandas as pd
URL_TO = 'https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M'
response = requests.get(URL_TO)
soup = BeautifulSoup(response.text,'html.parser')
soup.prettify()
table = soup.find('table', {'class': 'wikitable sortable'}).tbody
rows = table.find_all('tr')
columns = [v.text.replace('\n', '') for v in rows[0].find_all('th')]
df = pd.DataFrame(columns = columns)
for i in range(1, len(rows)):
tds = rows[i].find_all('td')
if len(tds) ==3:
values= [tds[0].text.replace('\n',''), tds[1].text.replace('\n',''), tds[2].text.replace('\n','')]
else:
values = [td.text.replace('\n','') for td in tds]
df = df.append(pd.Series(values, index=columns), ignore_index=True)
df.head()