Wie kann ich mit Pandas und schöner Suppe einen Tisch aus einer Baseball-Referenz kratzen?Python

Python-Programme
Guest
 Wie kann ich mit Pandas und schöner Suppe einen Tisch aus einer Baseball-Referenz kratzen?

Post by Guest »

Ich versuche, die Pitching-Statistiken dieser URL zu extrahieren und dann den Datenrahmen in einer CSV-Datei zu speichern.
https://www.baseball-reference.com/boxes/ARI /ARI202204070.shtml
Mein aktueller Code ist unten (Python 3.9.7)

Code: Select all

_URL = "https://www.baseball-reference.com/boxes/ARI/ARI202204070.shtml"
data = pd.read_html(_URL,attrs={'id': 'ArizonaDiamondbackspitching'},header=1)[0]
data.to_csv('boxscore.csv', index='False')
return data
Wenn ich diesen Code ausführe, erhalte ich die folgende Fehlermeldung:

Code: Select all

Traceback (most recent call last):
File "d:\BaseballAlgo\Baseball_WhoWins.py", line 205, in 
getBoxScore('ARI','2022-04-07')
File "d:\BaseballAlgo\Baseball_WhoWins.py", line 99, in getBoxScore
data = pd.read_html(_URL,attrs={'id': 'ArizonaDiamondbackspitching'},header=1)[0]
File "D:\BaseballAlgo\.venv\lib\site-packages\pandas\io\html.py", line 1240, in   read_html
return _parse(
File "D:\BaseballAlgo\.venv\lib\site-packages\pandas\io\html.py", line 1003, in _parse
raise retained
File "D:\BaseballAlgo\.venv\lib\site-packages\pandas\io\html.py", line 983, in   _parse
tables = p.parse_tables()
File "D:\BaseballAlgo\.venv\lib\site-packages\pandas\io\html.py", line 249, in parse_tables
tables = self._parse_tables(self._build_doc(), self.match, self.attrs)
File "D:\BaseballAlgo\.venv\lib\site-packages\pandas\io\html.py", line 598, in   _parse_tables
raise ValueError("No tables found")
ValueError: No tables found
Vergangene Code-Iterationen:

Code: Select all

session = BRefSession()
_URL = "https://www.baseball-reference.com/boxes/ARI/ARI202204070.shtml"
content =session.get(_URL).content
soup = BeautifulSoup(content, "html.parser")
table = soup.find_all('table', id="ArizonaDiamondbackspitching")
print (table)
data = pd.read_html(StringIO(str(table)))[0]
Dieser Code wird ausgeführt und beim Drucken der Tabelle ist die Ausgabe „[]“. Der gleiche Traceback oben wird auch als Ergebnis der letzten Zeile ausgegeben.
Ich verstehe, was der Fehler sagt, aber ich verstehe einfach nicht, wie das möglich ist. Es scheint, als ob die Funktion „soup.findall“ die spezifische Tabelle, die ich benötige, nicht finden kann, aber ich bin mir nicht sicher, warum. Wie kann ich dieses Problem beheben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post