Виновник:
country = countryname[0].text
Причина:
Есть 21 страна, и вы выбираете только первую с индексом zeroth
, т.е.
country = countryname[0].text
Ответ:
Прокрутите «название страны», чтобы найти все элементы:
import requests
from bs4 import BeautifulSoup
from csv import writer
page = requests.get("https://www.formula1.com/")
soup = BeautifulSoup(page.content, 'html.parser')
data = soup.find_all("div", class_="race-list")
#
# print(data)
for container in data:
countryname = container.find_all("span", class_="name")
for count in countryname:
country = count.text
racetype = container.find_all("span", class_="race-type")
rtype = count.text
racetime = container.find_all("time", class_="day")
racetimename = count.text.replace("\n", "").strip()
print(country)
ВЫХОД:
Australia
Bahrain
China
Azerbaijan
Spain
Monaco
Canada
France
Austria
Great Britain
Germany
Hungary
Belgium
Italy
Singapore
Russia
Japan
Mexico
United States
Brazil
Abu Dhabi