Ich bin ein bisschen neu im Webscraping und wollte ein paar HTML-Tabellen mit BeautifulSoup in Python scrapen. Die Webseite ist
https://fbref.com/en/comps/9/keepers/Pr ... ague-Stats. Wie Sie sehen werden, gibt es zwei Tabellen „Kader-Torwart“ und „Spieler-Torwart“.
Mit dem folgenden Code kann ich beide Tabellen erfassen.
Code: Select all
from bs4 import BeautifulSoup
import requests
import pandas as pd
import re
url = 'https://fbref.com/en/comps/9/keepers/Premier-League-Stats'
html_content = requests.get(url).text
bs = BeautifulSoup(html_content,"lxml")
gk_stats = bs.find_all("div",attrs={"class":"table_wrapper"})
gk_stats enthält zwei Elemente „Squad Goalkeeping“ und „Player Goalkeeping“, die ich durch Indizieren von gk_stats[0] bzw. gk_stats[1] sehen kann. Wenn ich jedoch versuche, das „tr“-Tag in „Spieler-Torwart“ zu finden, erhalte ich eine leere Liste.
Könnte mir bitte jemand erklären, warum ich die Tabelle nicht extrahieren kann, obwohl ich sie als BeautifulSoup-Element habe? Ich kann die Tabelle auch sehen, wenn ich das Element im Chrome-Browser inspiziere.
Ich kann die Tabelle „Squad Goalkeeping“ mit demselben Befehl extrahieren, aber mit Index 0 gk_stats[0].find_all("tr")
Vielen Dank im Voraus.