[Python] Umgang mit Pandas read_html Lesefehler
Ist es möglich, HTML-Dateien mit der Methode "read_html" von Pandas zu lesen? Ich dachte, und als ich es versuchte, bekam ich verschiedene Fehler hintereinander ...
** ▼ 4 Probleme (Fehler) **
①「ImportError: lxml not found, please install it」
②「ImportError: html5lib not found, please install it」
③「ImportError: BeautifulSoup4 (bs4) not found, please install it」
④「ValueError: No tables found」
** ▼ Korrespondenzpunkt **
-Sie müssen einige Bibliotheken installieren, um es zu verwenden.
-Datenerfassung ist nur für Tabellen.
■ Beispiel für eine Bewältigungsmethode
** Installieren Sie die folgenden 3 Bibliotheken ** und dann
Sie können dies tun, indem Sie ** die Seite mit der Tabelle ** angeben und ausführen.
① Bibliotheksinstallation
Bibliotheksinstallation
pip install lxml
pip install html5lib
pip install bs4
② Ausführung der Datenerfassung
Ausführung der Datenerfassung
import pandas as pd
url = 'https://stocks.finance.yahoo.co.jp/stocks/detail/?code=998407.O'
df = pd.read_html(url)
URL: Nikkei Durchschnittlicher Aktienkurs [998407]: Inlandsindex-Yahoo! Finance
Ich konnte es sicher bekommen.
### Ergänzung
** ▼ Warum müssen Sie 3 installieren? **
Die Seitenanalyse erfolgt mit Beautiful Soup 4. Zu diesem Zeitpunkt wird lxml verwendet, um die Tabelle zu analysieren.
Verwenden Sie html5lib, wenn lxml HTML nicht analysieren kann.
html5lib hat ausgezeichnete Analysefähigkeiten und kann html ergänzen, ist aber schwer.
Es wird jedoch empfohlen, auch html5lib zu installieren.
** ▼ Was Sie mit read_html machen können **
Kann nur mit dem
-Element verwendet werden.
Untergeordnete Elemente , , | , .
Offizielle Seite
Hinweise zur HTML-Analysebibliothek
## ■ Fehlerdetails
Erster Fehler
Error
import pandas as pd
url = 'https://www.yahoo.co.jp/'
df = pd.read_html(url)
#Ausgabe
# ImportError: lxml not found, please install it
Es wird gesagt, dass lxml nicht installiert ist.
Was ist lxml?
Eine Art Python-Bibliothek, die HTML und XML analysiert.
Sehr leicht. Die Analyse kann jedoch fehlschlagen, da nur strikte Markups unterstützt werden.
lxml Installation
pip install lxml
Zweiter Fehler
Was ist html5lib?
Als ich lxml erfolgreich installiert und erneut ausgeführt habe, war ein weiterer Fehler ...
「ImportError: html5lib not found, please install it」
Dies ist derjenige, der HTML5 analysiert.
Höhere Leistung als lxml. Ein korrektes Markup kann automatisch aus einem ungültigen Markup generiert werden.
Stattdessen ist es schwer.
Wird verwendet, wenn die HTML-Analyse in lxml fehlschlägt.
Installieren Sie html5lib
pip install html5lib
## Dritter Fehler
### Was ist BeautifulSoup4 (bs4)?
Als ich html5lib erfolgreich installiert und den Code erneut ausgeführt habe, wurde ein neuer Fehler angezeigt ...
「ImportError: BeautifulSoup4 (bs4) not found, please install it」
BeautifulSoup4 (bs4) analysiert HTML und XML.
Eine Bibliothek, die als Meisterwerk für die Seitenanalyse dient.
Lxml und html5lib werden im Backend für die Analyse dieser Tabelle verwendet.
Installation von BeautifulSoup4 (bs4)
pip install bs4
Vierter Fehler
Als ich bs4 erfolgreich installiert und den Code erneut ausgeführt habe, wurde ein neuer Fehler angezeigt ...
「ValueError: No tables found」
Anscheinend sind nur Tabellendaten verfügbar. ..
Tabellendaten abrufen
Probieren Sie als Site mit Tabellendaten die Seite Nikkei-Durchschnittskurs [998407] von Yahoo Finance aus.
https://m.finance.yahoo.co.jp/stock?code=998407.O
read_html
import pandas as pd
url = 'https://stocks.finance.yahoo.co.jp/stocks/detail/?code=998407.O'
df = pd.read_html(url)
df
Ausgabeergebnisse anzeigen summary>
python
[ 0 1 2 3
0 Nikkei durchschnittlicher Aktienkurs NaN 19389.43 Im Vergleich zum Vortag+724.83(+3.88%),
0 1
0 Was passiert mit der Aktienkursprognose? Der Nikkei-Durchschnitt von morgen,
0 1
0 Nikkei Durchschnittlicher Aktienkurs NY Dow
1 TOPIX NASDAQ-Synthese
2 Jasduck Index S & P 500
3 Hong Kong Hansen FTSE 100
4 Umfassender DAX in Shanghai
5 Mumbai SENSEX30 CAC 40,
0 \
0 Picte Gold(Mit H.)Sonstige Rückgaben(1 Jahr)19.94%
1 Global SDGs Stock Fund Sonstige Renditen(1 Jahr)5.27%
2 eMAXIS Slim Global Stock(Das ganze Land)Sonstige Rückgaben(1 Jahr)3.91%
1
0 Pinebridge Capital Securities F.(Mit H.)Sonstige Rückgaben(1 Jahr)6.35%
1 Risikokontrolle Global Asset Diversification Fund Sonstige Renditen(1 Jahr)4.81%
2 US-Aktiendividendenaristokrat(Abrechnungsart viermal im Jahr)Internationale Aktienrendite(1 Jahr)2.21% ,
0 \
0 Gesamtpreiserhöhungsrate 1.Neue Stadt HLD+45.45% 2.Sugai+28.30% 3.Amaga...
1
0 TSE 1. Abschnitt Preiserhöhungsrate 1.Kaneko-Arten+19.95% 2.Segue G.+18.28% 3.Kobayashi... ]
|