Я пытаюсь получить историю переводов 500 лучших игроков на Transfermarkt . Мне удалось (с некоторой помощью), чтобы l oop через каждый профиль игрока и очищенное изображение и имя. Теперь мне нужна история переводов, которую можно найти в таблице на каждом профиле игрока: Профиль игрока
Я хочу сохранить таблицу в фрейм данных, используя Pandas, а затем запишите его в CSV с Season, Date et c в качестве заголовков. Для Монако и ПСЖ, например, я просто хочу названия клубов, а не фотографии или национальность. Но сейчас все, что я получаю, это:
Empty DataFrame
Columns: []
Index: []
Ожидаемый результат:
Season Date Left Joined MV Fee
0 18/19 Jul 1, 2018 Monaco PSG 120.00m 145.00m
Я просмотрел источник и проверил страницу, но не могу найти ничего, что могло бы помочь я, кроме этого, tbody и tr. Но как я это делаю, я хочу уточнить эту таблицу, поскольку есть еще несколько.
Это мой код:
import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
site = "https://www.transfermarkt.com/spieler-statistik/wertvollstespieler/marktwertetop?ajax=yw1&page={}"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'
}
result = []
def main(url):
with requests.Session() as req:
result = []
for item in range(1, 21):
print(f"Collecting Links From Page# {item}")
r = req.get(url.format(item), headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')
tr = soup.find_all("tbody")[1].find_all("tr", recursive=False)
result.extend([
{
"Season": t[1].text.strip()
}
for t in (t.find_all(recursive=False) for t in tr)
])
df = pd.DataFrame(result)
print(df)