[PYTHON] Erste Schritte mit Web Scraping

Schaben

Eine kleine primitive Methode

Beim Extrahieren eines bestimmten Teils einer Webseite

Python3


import requests
import json

r = requests.get('https://nikkei225jp.com/chart/')
text = r.text #Gibt ein HTML-Objekt zurück

date    = text.split('<div class=wtimeT>')[1].split('</div>')[0]
nikkei   = text.split('<div class=if_cur>')[1].split('</div>')[0].replace(',','')
dau       = text.split('<div class=if_cur>')[2].split('</div>')[0].replace(',','')
kawase = text.split('<div class=if_cur>')[3].split('</div>')[0].replace(',','')

print('heute',date,'ist')
print ('Nikkei Aktienkurs',nikkei, 'Es ist ein Kreis')
print ('Dow durchschnittlicher Aktienkurs', dau, 'Es ist ein Kreis')
print ('Dollar umtauschen', kawase,'Es ist ein Kreis')

a=open('shares.csv','w')
a.write('Datum (und Uhrzeit,Nikkei Stock Average,Dow durchschnittlicher Aktienkurs,Dollar umtauschen\n')
a.write(date+','+nikkei+','+dau+','+kawase+'\n')
a.close()

Ergebnis (Kommandozeile)


Heute ist 2019/03/23
Nikkei Aktienkurs ist 21627.Es ist 34 Yen
Der durchschnittliche Aktienkurs von Dow beträgt 25502.32 Yen
Der Tauschdollar beträgt 109.Es ist 93 Yen

Ich denke, es wurde so gedruckt

Ergebnisse (Aktien.csv)


Datum (und Uhrzeit,Nikkei Stock Average,Dow durchschnittlicher Aktienkurs,Dollar umtauschen
2019/03/23,21627.34,25502.32,109.93

Ich habe bestätigt, dass eine solche Datei erstellt wurde.

Was das Programm gemacht hat

Von dieser Nikkei Stock Site *** Datum und Uhrzeit, durchschnittlicher Nikkei-Aktienkurs, Dow-Durchschnitt, Wechselkursdollar *** Informationen wie wurden extrahiert, gedruckt und gespeichert.

スクリーンショット 2019-03-23 2.37.50.png Zitat: https://nikkei225jp.com/chart/

Von dieser Seite スクリーンショット 2019-03-23 2.38.10.png Ich extrahiere die Informationen dieses Teils

Web Scraping bietet auch eine bequeme Möglichkeit, *** Schöne Suppe *** oder *** Selen *** zu verwenden

Dieses Mal haben wir die primitive Methode von *** Anfragen *** nur ~ übernommen

Als Fluss

r = requests.get('URL der Seite, die Sie kratzen möchten')

Die zurückgegebene Antwort (Seiteninformation) wird in der Variablen *** r *** gespeichert

text = r.text

Abrufen im Textformat mit dem Text (HTML-Text) der zurückgegebenen Antwort *** r ***

スクリーンショット 2019-03-23 3.26.59.png

Zum Beispiel *** Nikkei durchschnittlicher Aktienkurs *** 21.627,34 ***

Wenn Sie extrahieren möchten

Wählen Sie die Informationen aus, die Sie wie oben gezeigt extrahieren möchten Suche nach "** Validate " oder " View Page Source **"

<div class="if_cur">21,627.34</div><img width="674" alt="Screenshot 2020-04-14 18.27.54.png " src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/377231/64fddc0e-29c5-8d2a-09ee-bb3656fc0895.png ">

Auf diese Weise befindet sich die Klasse *** if_cur *** in einem Sandwichzustand.

nikkei   = text.split('<div class=if_cur>')[1].split('</div>')[0].replace(',','')

Der Inhalt wird in dieser einen Zeile als *** nikkei *** extrahiert.

Beispiel 2) Beispiel für die Datums- und Uhrzeitextraktion スクリーンショット 2020-04-14 18.27.54.png

.replace (',', '') entfernt nur das Komma (,). Weil das Komma anstelle der Zahl ein Hindernis ist. (Wenn Sie später in den Typ int konvertieren und die Operation ausführen möchten, können Sie nicht in den Typ int konvertieren, wenn das Komma erhalten bleibt.)

*** Dow Durchschnitt ***, *** Wechsel Dollar ***, *** Zeit *** ist der gleiche Weg

Die primitivste Methode, die mit verschiedenen Mustern umgehen kann.

Intelligente Methode

Extrahieren Sie dieses Mal ** alle Links (URLs), die auf der Nikkei-Seite für den durchschnittlichen Aktienkurs vorhanden sind.

Wenn ich diesmal den Code zeichne, um ihn wie zuvor einzeln zu extrahieren, gibt es keine Schärfe

Derzeit ein Muster, das alle *** a *** -Tags (Tags mit URL) extrahiert und in einem Array speichert

*** Schöne Suppe *** ist jetzt

$ pip install beautifulsoup4

Ich habe gerade den Erfassungscode für das *** a *** -Tag zum vorherigen Code hinzugefügt

import requests
import json
from bs4 import BeautifulSoup

r = requests.get('https://nikkei225jp.com/chart/')
text = r.text
date    = text.split('<div class=wtimeT>')[1].split('</div>')[0]
nikkei   = text.split('<div class=if_cur>')[1].split('</div>')[0].replace(',','')
dau       = text.split('<div class=if_cur>')[2].split('</div>')[0].replace(',','')
kawase = text.split('<div class=if_cur>')[3].split('</div>')[0].replace(',','')

print('heute',date,'ist')
print ('Nikkei Aktienkurs',nikkei, 'Es ist ein Kreis')
print ('Dow durchschnittlicher Aktienkurs', dau, 'Es ist ein Kreis')
print ('Dollar umtauschen', kawase,'Es ist ein Kreis')

a=open('shares.csv','w')
a.write('Datum (und Uhrzeit,Nikkei Stock Average,Dow durchschnittlicher Aktienkurs,Dollar umtauschen\n')
a.write(date+','+nikkei+','+dau+','+kawase+'\n')
a.close()


#Unten ist der zusätzliche Betrag
soup = BeautifulSoup(r.text , "html.parser") 

for a in soup.find_all('a'):
    if 'http' in str(a): #Dieses Mal ist es auf das a-Tag mit http beschränkt
        #print(a.text) #Inhalt eines Tags (Titel)
        print(a.attrs['href']) #URL

Ergebnis (Kommandozeile)


Heute ist 2019/03/23
Nikkei Aktienkurs ist 21627.Es ist 34 Yen
Der durchschnittliche Aktienkurs von Dow beträgt 25502.32 Yen
Der Tauschdollar beträgt 109.Es ist 93 Yen
http://xn--u9jt60g57a227ciso.com/
http://quote.jpx.co.jp/jpx/template/quote.cgi?F=tmp/real_index&QCODE=155
http://klug-fx.jp/holiday/
https://jp.investing.com/holiday-calendar/
https://db.225225.jp/
https://nikkei225jp.com/chart/
https://nikkei225jp.com/nasdaq/
https://nikkei225jp.com/fx/
https://ch225.com/
https://225225.jp/
https://nikkei225jp.com/cme/
https://adr-stock.com/
http://fx.minkabu.jp/indicators/calendar
http://jp.reuters.com/investing/news/economic
http://www3.nhk.or.jp/news/html/20190323/k10011858101000.html
http://moneyzine.jp/article/detail/215915
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/19cDqM88PGE/graphics-frb-idJPKCN1R30VK
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/wqkbZgbeMMA/asia-companies-outlook-analysis-idJPKCN1R30Y2
http://www.asahi.com/articles/ASM3D3S9TM3DULFA00N.html?ref=rss
http://diamond.jp/articles/-/197806
http://www.asahi.com/articles/ASM3R1SPZM3RUHBI003.html?ref=rss
https://zai.diamond.jp/list/fxnews/detail?id=312805&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312804&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312803&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312802&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://zai.diamond.jp/list/fxnews/detail?id=312801&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
http://www3.nhk.or.jp/news/html/20190322/k10011857501000.html
http://diamond.jp/articles/-/197800
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/k7hVYUD0Rlw/usa-trump-russia-idJPL3N21949Q
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/7SX2E12xQqA/ny-market-summary-0322-idJPKCN1R32TP
https://www.nikkei.com/article/DGXLASM7IAA05_T20C19A3000000/
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/vP8IyPxDb_w/EU-HUAWEI-TECH--idJPL3N21946T
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/dhPXy0bfxg8/ny-stx-us-idJPKCN1R32SJ
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/f5sMkCorXO8/ny-forex-idJPKCN1R32SB
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/fYZ-Sat0U3Y/ny-markets-summary-idJPL3N2194BF
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/unMMYgBSv38/ny-stx-us-idJPL3N21946R
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/FIxyRRMByHY/pinterest-ipo-idJPL3N21949V
https://zai.diamond.jp/list/fxnews/detail?id=312800&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
https://www.nikkei.com/article/DGXLASH2ICE01_T20C19A3000000/
http://www.traders.co.jp/foreign_stocks/market_s.asp#today
http://www.gaitame.com/market/yosoku.html
http://market.fisco.co.jp/update/index.jsp
http://www.traderswebfx.jp/news/default.aspx?ID=7#newslist
http://kabuyoho.ifis.co.jp/
http://www.tokyoipo.com/top/iposche/index.php?j_e=J
http://klug-fx.jp/holiday/
https://jp.investing.com/holiday-calendar/
http://world.honda.com/worldclock/
https://news.yahoo.co.jp/search?p=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&ei=utf-8&fr=news_sw
https://www.google.co.jp/search?hl=ja&gl=jp&tbm=nws&authuser=0&q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&oq=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&gs_l=news-cc.1.0.43j43i53.2284.2284.0.5545.1.1.0.0.0.0.56.56.1.1.0...0.0...1ac.1.oMorwBF68ss#q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&hl=ja&gl=jp&authuser=0&tbm=nws&tbs=sbd:1
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi
https://www.dukascopy.jp/

Sie können sehen, dass die Links auf der Seite genommen werden.

#print(a.text) #Inhalt eines Tags (Titel)

Wenn Sie den Teil auskommentieren, können Sie den Titel des *** a *** -Tags ~ erhalten

Heute ist 2019/03/23
Nikkei Aktienkurs ist 21627.Es ist 34 Yen
Der durchschnittliche Aktienkurs von Dow beträgt 25502.32 Yen
Der Tauschdollar beträgt 109.Es ist 93 Yen
Weltbestand.com
http://xn--u9jt60g57a227ciso.com/
Osten
http://quote.jpx.co.jp/jpx/template/quote.cgi?F=tmp/real_index&QCODE=155
[Klug]
http://klug-fx.jp/holiday/
[Investing]
https://jp.investing.com/holiday-calendar/
Marktbedingungen in Echtzeit Teile
https://db.225225.jp/
Nikkei Stock Average
https://nikkei225jp.com/chart/
Dow durchschnittlicher Aktienkurs
https://nikkei225jp.com/nasdaq/
Tauschen Sie Dollar Yen
https://nikkei225jp.com/fx/
Weltbestand
https://ch225.com/
Mobiltelefon
https://225225.jp/
CME
https://nikkei225jp.com/cme/
ADR
https://adr-stock.com/
Jeder tauscht sich aus
http://fx.minkabu.jp/indicators/calendar
Reuters
http://jp.reuters.com/investing/news/economic
Bewegung zur Stärkung der lebenserhaltenden Dienstleistungen durch Ausweitung der Akzeptanz ausländischer Humanressourcen
http://www3.nhk.or.jp/news/html/20190323/k10011858101000.html
Bankeinlagen, Bankgewinnzyklus nach Einführung der Minuszinsen, die 149 aufeinanderfolgende Monate über dem Vorjahresmonat lagen ...
http://moneyzine.jp/article/detail/215915
Winkel:Die Umstellung der FRB auf Tauben wirkt sich positiv auf die US-Haushalte aus
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/19cDqM88PGE/graphics-frb-idJPKCN1R30VK
Fokus:Die Kapitalinvestitionen asiatischer Unternehmen sollen zum ersten Mal seit drei Jahren aufgrund der Verlangsamung in China zurückgehen
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/wqkbZgbeMMA/asia-companies-outlook-analysis-idJPKCN1R30Y2
Vorschlag eines Subventionssystems für die Unterstützung von Kernkraftwerken Das Ministerium für Wirtschaft, Handel und Industrie soll 2020 eingerichtet werden
http://www.asahi.com/articles/ASM3D3S9TM3DULFA00N.html?ref=rss
Der Markt in New York fiel am 22. stark-Neueste Börsennachrichten
http://diamond.jp/articles/-/197806
NY Dow fällt stark, 460 Dollar Abwertung Bedenken hinsichtlich der Verlangsamung der Weltwirtschaft
http://www.asahi.com/articles/ASM3R1SPZM3RUHBI003.html?ref=rss
Zufluss von Risikovermeidungsfonds aus anhaltendem Wachstum, niedrigen Aktienkursen und hohen Anleihekursen
https://zai.diamond.jp/list/fxnews/detail?id=312805&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
Die Gold-Futures in New York wachsen weiter, und Risikovermeidungsfonds fließen aus niedrigen Aktienkursen und hohen Anleihepreisen ein
https://zai.diamond.jp/list/fxnews/detail?id=312804&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
Bedenken, dass die Rohöl-Futures in New York weiter fallen und sich die Verschlechterung der Weltwirtschaft verschlechtern wird
https://zai.diamond.jp/list/fxnews/detail?id=312803&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
NY Markttrends(Ende der Transaktion):Dow 460.19 Dollar billig(Aktuelle Nachrichten), Rohöl-Futures 0.94 Dollar billig
https://zai.diamond.jp/list/fxnews/detail?id=312802&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
Yen gegen Weltwährungen:Gegen Puppe 0.81%Hoch gegen Euro 1.43%Hoch
https://zai.diamond.jp/list/fxnews/detail?id=312801&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
Erstellen eines Textes zum Erwerb eines neuen Aufenthaltsstatus für ausländische Personalunternehmen Industriegruppe von Restaurantunternehmen
http://www3.nhk.or.jp/news/html/20190322/k10011857501000.html
Die EZB beabsichtigt nicht, digitale Währungen auszugeben=Direktor von Melshu [Fisco Bitcoin Neu ...
http://diamond.jp/articles/-/197800
UPDATE 1-Der US-Sonderstaatsanwalt legt einen Untersuchungsbericht für das angebliche Russland vor. Kein weiterer Strafverfolgungsvorschlag
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/k7hVYUD0Rlw/usa-trump-russia-idJPL3N21949Q
NY Market Summery(Der 22 ..)
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/7SX2E12xQqA/ny-market-summary-0322-idJPKCN1R32TP
NY Yen, Abstoßung 1 Dollar=109,90 Yen?Endet bei 110,00 Yen, der Yen wird zum ersten Mal seit einem Monat stärker
https://www.nikkei.com/article/DGXLASM7IAA05_T20C19A3000000/
erneut senden-EXCLUSIVE-Europäische Kommission zum Vorschlag zum Datenaustausch, ohne das Fairway von 5G zu streichen=Seki ...
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/vP8IyPxDb_w/EU-HUAWEI-TECH--idJPL3N21946T
Der US-Aktienmarkt stürzt ab, der weltweite Wirtschaftsabschwung verschärft sich
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/dhPXy0bfxg8/ny-stx-us-idJPKCN1R32SJ
Doll fällt gegen den Yen und die wirtschaftlichen Bedenken steigen aufgrund der Umkehrung der langfristigen und kurzfristigen US-Zinssätze=NY Markt
http://feeds.reuters.com/~r/reuters/JPBusinessNews/~3/f5sMkCorXO8/ny-forex-idJPKCN1R32SB
NY Market Summery(Der 22 ..)
http://feeds.reuters.com/~r/reuters/JPMarketNews/~3/fYZ-Sat0U3Y/ny-markets-summary-idJPL3N2194BF
US-Aktienmarkt=Plötzlicher Rückgang, weltwirtschaftlicher Abschwung
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/unMMYgBSv38/ny-stx-us-idJPL3N21946R
UPDATE 1-US-Image-Sharing-Pintarest gilt für den Börsengang, sind es 100 Millionen Dollar?
http://feeds.reuters.com/~r/reuters/JPCompanyNews/~3/FIxyRRMByHY/pinterest-ipo-idJPL3N21949V
NY Marquette Digest ・ 22. Aktienkurs scharf niedrig ・ Euro niedrig ・ Lira stürzte ab
https://zai.diamond.jp/list/fxnews/detail?id=312800&utm_source=zaifxrss&utm_medium=rss&utm_term=zaifxnews&utm_campaign=zaifxrss
Überblick über Shikago Japanese Stock Futures 22
https://www.nikkei.com/article/DGXLASH2ICE01_T20C19A3000000/
Zeitplan
http://www.traders.co.jp/foreign_stocks/market_s.asp#today
Wirtschaftsindexplan
http://www.gaitame.com/market/yosoku.html
Festigkeitsmaterialien / Noten
http://market.fisco.co.jp/update/index.jsp
Wichtige Bemerkungen
http://www.traderswebfx.jp/news/default.aspx?ID=7#newslist
Abrechnungsplan
http://kabuyoho.ifis.co.jp/
IPO-Zeitplan
http://www.tokyoipo.com/top/iposche/index.php?j_e=J
Markturlaub
http://klug-fx.jp/holiday/
Markturlaub
https://jp.investing.com/holiday-calendar/
Weltuhr
http://world.honda.com/worldclock/
Yahoo!Nachrichten "Nikkei Average"
https://news.yahoo.co.jp/search?p=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&ei=utf-8&fr=news_sw
Google News "Nikkei Average"
https://www.google.co.jp/search?hl=ja&gl=jp&tbm=nws&authuser=0&q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&oq=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&gs_l=news-cc.1.0.43j43i53.2284.2284.0.5545.1.1.0.0.0.0.56.56.1.1.0...0.0...1ac.1.oMorwBF68ss#q=%E6%97%A5%E7%B5%8C%E5%B9%B3%E5%9D%87&hl=ja&gl=jp&authuser=0&tbm=nws&tbs=sbd:1
FISCO
http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi

http://chart.fisco.co.jp/fisco/cgi-bin/index.cgi

https://www.dukascopy.jp/

Sie haben die URL und den Titelteil wie folgt extrahiert.

Möglicherweise gibt es einen Linkteil von *** http ***, aber keinen Linktitel.

Recommended Posts

Erste Schritte mit Web Scraping
Web Scraping
10 Fragen, die vor dem Web-Scraping überprüft werden müssen
Einführung in Scrapy (1)
Einführung in Scrapy (3)
Erste Schritte mit Supervisor
Einführung in Tkinter 1: Einführung
Web Scraping (Prototyp)
Einführung in PyQt
[Python] Einführung in das Scraping | Programm zum Öffnen von Webseiten (Selenium-Webdriver)
Einführung in Scrapy (2)
[Linux] Einführung in Linux
Einführung in Scrapy (4)
Einführung in discord.py (2)
[Einführung in WordCloud] Spielen Sie mit Scraping ♬
Ich habe Web Scraping versucht, um die Texte zu analysieren.
Schaben 2 Wie man kratzt
Einführung in Lightning Pytorch
Einführung in nichtparametrische Felder
Einführung in EV3 / MicroPython
Einführung in die Python-Sprache
Einführung in die TensorFlow-Bilderkennung
Einführung in OpenCV (Python) - (2)
[Python] Fluss vom Web-Scraping zur Datenanalyse
[Einführung in Python3 Tag 20] Kapitel 9 Enträtseln des Webs (9.1-9.4)
Einführung in PyQt4 Teil 1
Einführung in die Abhängigkeitsinjektion
Einführung in Private Chainer
Einführung in das maschinelle Lernen
AOJ Einführung in die Programmierung Thema Nr. 1, Thema Nr. 2, Thema Nr. 3, Thema Nr. 4
Einführung in das elektronische Papiermodul
Einführung in den Wörterbuch-Suchalgorithmus
Einführung in die Monte-Carlo-Methode
Web Scraping mit Python + JupyterLab
Einführung in Python Django (2) Win
Einführung in das Schreiben von Cython [Notizen]
Einführung in Private TensorFlow
Eine super Einführung in Linux
AOJ Einführung in die Programmierung Thema Nr. 7, Thema Nr. 8
Scraping Go To Travel Unterkunft
Einführung in die Anomalieerkennung 1 Grundlagen
Einführung in RDB mit sqlalchemy Ⅰ
WEB-Scraping-Technologie und Bedenken
[Einführung in Systre] Fibonacci Retracement ♬
Einführung in die nichtlineare Optimierung (I)
Einführung in die serielle Kommunikation [Python]
Kompromisse beim Web Scraping & Crawlen
Einfaches Web-Scraping mit Scrapy
AOJ Einführung in die Programmierung Thema Nr. 5, Thema Nr. 6
[Python] Einführung in das WEB-Scraping | Zusammenfassung der Methoden, die mit dem Webdriver verwendet werden können
Bildersammlung mit Web Scraping
Web Scraping mit Selenium (Python)
Einführung in Deep Learning ~ Lernregeln ~
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
Web Scraping mit AWS Lambda