So kratzen Sie mit Python den Aktienkurs einer einzelnen Aktie von der Nikkei Shimbun-Website

Ich wollte den Aktienkurs analysieren und die Aktie zum Zeitpunkt des Kaufs finden, also habe ich versucht, von der Nikkei-Zeitungsseite zu kratzen. Es gibt verschiedene Websites, die kostenlose Aktienkurse anbieten, z. B. Stock Investment Memo, die jedoch häufig unregelmäßig aktualisiert werden. Die Nikkei Shimbun-Website wird täglich aktualisiert.

Wenn Sie beim Scrapen einer Website nicht verschiedene [Regeln] befolgen (https://qiita.com/nezuq/items/c5e827e1827e7cb29011), ist dies zunächst ein Verbrechen, aber Nikkei Shimbuns [robots.txt]( Soweit https://www.nikkei.com/robots.txt) und Nutzungsbedingungen gesehen werden, scheint es im Rahmen des persönlichen Gebrauchs kein Problem zu geben (? ) ist. (Bitte lassen Sie mich wissen, wenn es nicht funktioniert)

Wenn Sie die Methode read_html () des Moduls pandas verwenden, dauert dies Sekunden.

nikkei_scrape.py


import pandas as pd

def get_stock_prices(stock_number):
    url = "https://www.nikkei.com/nkd/company/history/dprice/?scode={}&ba=1".format(stock_number)
    headers = {
        "User-Agent": "User-Agenteninformationen"
    }
    dfs = pd.read_html(url)
    for i in range(len(dfs)):
        if "Datum" in str(dfs[i]):
            return dfs[i]
    return False

Benutzer-Agent-Informationen sind in Ordnung, wenn Sie die Zeichenfolge kopieren und einfügen, die beim Öffnen von [dieser Site] angezeigt wird (https://www.cloudgate.jp/ua.php). In meinem Fall war es beispielsweise "Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 81.0.4044.122 Safari / 537.36". Weitere Informationen finden Sie hier [https://qiita.com/nightyknite/items/b2590a69f2e0135756dc].

Geben Sie den 4-stelligen Bestandscode in "stock_number" ein. Wenn Sie beispielsweise 1301 eingeben, ist dies die URL der Aktienseite der Firma Gokuyo [https://www.nikkei.com/nkd/company/history/dprice/?scode=1301&ba=1](https: //www.nikkei). Scraping com / nkd / company / history / dprice /? Scode = 1301 & ba = 1). Sie finden den Markencode leicht über Google und auf der TSE-Website. Sie können die EXCEL-Datei herunterladen.

Es kann eine zusätzliche Tabelle auf der Aktienkurs-Webseite geben. Um nur die Aktienkurs-Tabelle zu erhalten, drehe ich die for-Anweisung so, dass nur die Tabelle zurückgegeben wird, die das Wort "Datum" enthält.

das ist alles.

Recommended Posts

So kratzen Sie mit Python den Aktienkurs einer einzelnen Aktie von der Nikkei Shimbun-Website
So kratzen Sie Bilddaten von Flickr mit Python
Wie man die Anzahl der GPUs aus Python kennt ~ Hinweise zur Verwendung von Multiprocessing mit pytorch ~
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
So schneiden Sie den unteren rechten Teil des Bildes mit Python OpenCV
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
So legen Sie Attribute mit Mock of Python fest
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
[Python-Tipps] So rufen Sie mehrere Schlüssel mit dem Maximalwert aus dem Wörterbuch ab
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
So aktualisieren Sie die Software beim Erstellen von Linux (CentOS) mit Vagrant ~ Am Beispiel eines Upgrades von Python 2.7 auf Python 3.6 ~
[Python] So entfernen Sie doppelte Werte aus der Liste
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
So ermitteln Sie die Anzahl der Stellen in Python
Lerne Nim mit Python (ab Anfang des Jahres).
[Python] So legen Sie den Download-Speicherort mit youtube-dl fest
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
[Python] So schreiben Sie den Tabellenstil mit python-pptx um [python-pptx]
Vom Anfangszustand von CentOS8 bis zum Ausführen von PHP Python Perl Ruby mit Nginx
Extrahieren Sie Bilder und Tabellen mit Python aus PDF, um die Berichtslast zu verringern
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
So kehren Sie aus dem Zustand zum Befehl zurück, in dem Sie mit Python of Git Bash nicht in den interaktiven Modus wechseln können
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, das Problem von F02 zu lösen, wie man mit Python offline in Echtzeit schreibt
Ich habe die Strategie des Aktiensystemhandels mit Python evaluiert.
Wie kann man schnell die Häufigkeit des Auftretens von Zeichen aus einer Zeichenfolge in Python zählen?
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Wie man mit Pythons Selen in Sekundenschnelle kratzt
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
So erhalten Sie Informationen von Organisationen, Cost Explorer eines anderen AWS-Kontos bei Lambda (Python)
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
Versuchen Sie, die Position des Senders aus dem Funkwellenausbreitungsmodell mit Python [Wi-Fi, Beacon] zu berechnen.
So bestimmen Sie die Existenz eines Selenelements in Python
So ändern Sie die Protokollstufe von Azure SDK für Python
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
So vermeiden Sie doppelte Daten bei der Eingabe von Python in SQLite.
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Herstellen einer Verbindung zum Cloud Firestore über Google Cloud-Funktionen mit Python-Code
[Python] Erklärt anhand eines Beispiels, wie die Formatierungsfunktion verwendet wird
So überwachen Sie den Ausführungsstatus von sqlldr mit dem Befehl pv
So aktualisieren Sie die Python-Version von Cloud Shell in GCP
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Python: So verwenden Sie Async mit
Existenz aus Sicht von Python
So erhalten Sie die Python-Version
Erste Schritte mit Python