Я не хочу раздражать вас своими самыми основными вопросами, но я застрял и надеюсь, что вы мне поможете.Я делал уроки и смотрел много видео, но не могу понять, что я делаю неправильно.Я хочу собрать данные из этой таблицы: https://www.youpriboo.com/vorher_102_main_nat.php?action=show&liga=2.BL
Это мой код:
import requests
from bs4 import BeautifulSoup
base_URL = 'https://www.youpriboo.com/vorher_102_main_nat.php?action=show&liga='
liga = '2.BL'
URL = base_URL + liga
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36:'}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
for name in soup.find_all("td", class_="hac"):
name1 = name.parent.find_all('td')[1] # team1
name2 = name.parent.find_all('td')[2] # team2
wahr1 = name.parent.find_all('td')[6] # wahr1
print(name1.get_text() +' '+ name2.get_text()+' '+ wahr1.get_text())
Проблема заключается в том, что он выдает мне данные 3 раза, а в списке 3the games.
Ожидаемый результат будет выглядеть следующим образом:
Armina Bielefeld VfB Stuttgart 34,43
SV Wehen Wiesbaden VfL Osnabrück 34,51
(and so on)
Спасибо за ваше время и работу!
Я разместил это также здесь: https://www.reddit.com/r/Python/comments/d9km7y/scraping_data_using_bs4_gives_me_unexpected/