[Python] Umgang mit Pandas read_html Lesefehler

[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

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...  ]

Recommended Posts

, ,