{"id":145,"date":"2021-10-29T12:00:00","date_gmt":"2021-10-29T12:00:00","guid":{"rendered":"https:\/\/christoph-schmalfuss.de\/blog\/?p=145"},"modified":"2021-11-05T09:22:16","modified_gmt":"2021-11-05T09:22:16","slug":"krypto-kurse-tracken-mit-python","status":"publish","type":"post","link":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/","title":{"rendered":"Krypto-Kurse tracken mit Python"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>Heute schreiben wir ein einfaches Python-Skript, mit dem wir den Kurs von beliebigen Kryptow\u00e4hrungen beobachten k\u00f6nnen. Das Skript wird aller paar Sekunden nach dem aktuellen Kurs schauen. Und sobald der Kurs einen bestimmten Wert \u00fcbersteigt, werden wir benachrichtigt. Schauen wir uns an, wie&#8217;s funktioniert<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Unsere Datenquelle<\/h2>\n\n\n\n<p>Unsere Daten k\u00f6nnen wir aus verschiedenen Quellen beziehen. Wir nutzen f\u00fcr unser Skript <a href=\"https:\/\/www.coinapi.io\">coinapi.io<\/a>. Dort kann man sich kostenlos anmelden und hat dann Zugriff auf allerhand n\u00fctzliche Daten.<\/p>\n\n\n\n<p>Sobald wir uns angemeldet haben, wird uns ein eigener API-Key per E-Mail zugeschickt. Und der erm\u00f6glicht es uns, dass Python mit coinapi.io kann. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Eine API-Anfrage stellen<\/h2>\n\n\n\n<p>Wir k\u00f6nnen mit unserem API-Key nun Anfragen an coinapi stellen. Daf\u00fcr nutzen wir das Modul requests. Das k\u00f6nnen wir bequem \u00fcber das Terminal installieren.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>pip3 install requests<\/code><\/pre><\/div>\n\n\n\n<p>Alles, was wir \u00fcber die API von coinapi.io wissen m\u00fcssen, finden wir in deren <a href=\"https:\/\/docs.coinapi.io\/#md-docs\">Dokumentation<\/a>. Aus dieser Dokumentation suchen wir nun die passende Anfrage heraus. Ich zeig euch hier mal exemplarisch wie ihr den Bitcoin-Kurs in USD auslesen k\u00f6nnt, das funktioniert aber mit jeder beliebigen Krypow\u00e4hrung genaus so. <\/p>\n\n\n\n<p>In unserem Fall wollen wir also auf die Markt-Daten zugreifen, genauer gesagt auf einen bestimmten Wechselkurs. Deshalb w\u00e4hle ich aus den Market-Data den Bereich <a href=\"https:\/\/docs.coinapi.io\/?python#get-specific-rate-get\">Get spefic rate<\/a> aus. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1016\" height=\"476\" src=\"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Bildschirmfoto-2021-10-21-um-18.43.08.png\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Bildschirmfoto-2021-10-21-um-18.43.08.png 1016w, https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Bildschirmfoto-2021-10-21-um-18.43.08-300x141.png 300w, https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Bildschirmfoto-2021-10-21-um-18.43.08-768x360.png 768w\" sizes=\"auto, (max-width: 1016px) 100vw, 1016px\" \/><figcaption>Die Dokumentation enth\u00e4lt bereits eine passende Anfrage.<\/figcaption><\/figure>\n\n\n\n<p>Oben rechts kann ich mir den entsprechenden Quellcode in verschiedenen Programmiersprachen anzeigen lassen. Ich schnappe mir den Python-Code und nehme ihn mit in mein Skript.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>import requests # das Skript wird importiert\nurl = &#39;https:\/\/rest.coinapi.io\/v1\/exchangerate\/BTC\/USD&#39; # diese URL wird bei der Anfrage aufgerufen\nheaders = {&#39;X-CoinAPI-Key&#39; : &#39;73034021-THIS-IS-SAMPLE-KEY&#39;} # unser API-Key wird mitgegeben\nresponse = requests.get(url, headers=headers) # wird starten die Anfrage<\/code><\/pre><\/div>\n\n\n\n<p>Der API-Key stimmt jetzt nat\u00fcrlich noch nicht. Deshalb f\u00fcge ich meinen pers\u00f6nlichen Key jetzt in das Skript ein. Den habe ich ja bereits per E-Mail bekommen.<\/p>\n\n\n\n<p>Das sollte jetzt auch schon funktionieren. Um herauszufinden, was uns f\u00fcr Daten zur\u00fcckgegeben werden, lass ich mir die entsprechende Antwort ausgeben.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>print(response.text)<\/code><\/pre><\/div>\n\n\n\n<p>Aus der Antwort interessiert uns jetzt eigentlich nur ein Wert, und zwar der aktuelle Kurs. Und genau den lesen wir nun aus.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>current_rate = response.json()[&#39;rate&#39;]\nprint(current_rate)<\/code><\/pre><\/div>\n\n\n\n<p>Und damit haben wir jetzt schon unsere erste Funktion. Ich gebe meiner Funktion einen Namen und r\u00fccke den Quellcode ein, sodass er in der Funktion hinterlegt ist. Und ganz am Ende der Funktion lasse ich mir den Wert mit dem Schl\u00fcsselwort <code>return<\/code> zur\u00fcckgeben.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>def get_current_rate():\n    url = &#39;https:\/\/rest.coinapi.io\/v1\/exchangerate\/BTC\/USD&#39;\n    headers = {&#39;X-CoinAPI-Key&#39; : &#39;yyyyyyxxxxxxxxyyyyyyyyxxxxx&#39;\n    response = requests.get(url, headers=headers)\n    \n    current_rate = response.json()[&#39;rate&#39;]\n    return current_rate<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Bitcoin-Kurs tracken<\/h2>\n\n\n\n<p>Als n\u00e4chstes wollen wir den Kurs vergleichen und benachrichtigt werden, wenn der Kurs eine bestimmte Marke \u00fcbersteigt. Auch das tun wir in einer eigenen Funktion. Den Zielwert, auf den wir warten wollen, hinterlegen wir gleich mal in einer eigenen Variable. Und sobald dieser Zielerwert erreicht wird, wollen wir dann benachrichtigt werden.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>goal_rate = 65000<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>def compare_current_rate_with_goal():\n    current_rate = get_current_rate()\n\n    if current_rate &gt;= goal_rate:\n        notify_user()\n\n    print(f&#39;Aktueller Kurs: {round(current_rate)} USD&#39;)<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Eine Benachrichtigung einrichten<\/h2>\n\n\n\n<p>Die Benachrichtigung des Nutzers kann jetzt auf ganz viele verschiedene Weisen erfolgen. Ich kann mir z.B. Benachrichtigungen per Mail oder per Telegram schicken lassen. Entsprechende Tutorials dazu verlinke ich euch in der Videobeschreibung. Wir machen das jetzt aber mal etwas einfacher. Und zwar soll einfach ein Soundeffekt abgespielt werden und eine Nachricht im Terminal angezeigt werden. <\/p>\n\n\n\n<p>Zum Abspielen von Sounds k\u00f6nnen wir das Modul <em>simpleaudio<\/em> verwenden. Das funktioniert auf allen Plattformen und ist ziemlich einfach zu bedienen. <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>pip3 install simpleaudio<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>import simpleaudio<\/code><\/pre><\/div>\n\n\n\n<p>Wo wir den Soundeffekt jetzt hernehmen, ist im Prinzip egal. Es gibt online ja eine Menge kostenloser Quellen f\u00fcr Soundeffekte, die wir f\u00fcr solche Projekte nutzen k\u00f6nnen. Oder ihr macht es wie ich und nervt eure Freundin so lange, bis sie mit euch gemeinsam eine kleine Aufnahmesession macht. Wir haben uns daf\u00fcr einfach ein Glas geschnappt und ein paar M\u00fcnzen reingeschmissen. Das Ganze habe wir einfach mit meinem China-Handy aufgenommen und schon hatten wir einen h\u00fcbschen und vor allem copyrightfreien Soundeffekt.<\/p>\n\n\n\n<p>Den aufgenommenen Soundeffekt nehme ich dann und lege ihn in meinem Projektordner ab. Das mache ich idealerweise in einem Unterordner, damit das Projekt \u00fcbersichtlich bleibt. <\/p>\n\n\n\n<p>Anschlie\u00dfend lege ich die Funktion an, die den Nutzer benachrichtigt und den Soundeffekt abspielt.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>def notify_user():\n    print(f&#39;Der Kurs hat die Zielmarke von {goal_rate} USD erreicht!&#39;)\n\n    wave_object = simpleaudio.WaveObject.from_wave_file(&#39;.\/sounds\/coins.wav&#39;)\n    play_object = wave_object.play()\n    play_object.wait_done()\n    exit()\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Funktion in Schleife ausf\u00fchren<\/h2>\n\n\n\n<p>Unser Programm hat jetzt an sich alles was es braucht. Als letztes basteln wir jetzt noch eine kleine Schleife, die sich auf die Lauer legt und regelm\u00e4\u00dfig f\u00fcr uns den Kurs checkt. Daf\u00fcr importieren wir uns die Funktion time.sleep().<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>from time import sleep<\/code><\/pre><\/div>\n\n\n\n<p>Und mit der schreiben wir jetzt eine Schleife, die z.B. aller 5 Sekunden den Kurs checkt.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>def track_rate():\n\n    while True:\n        print(&#39;\\nTracke Bitcoin-Kurs...&#39;)\n        compare_current_rate_with_goal()\n        sleep(5)<\/code><\/pre><\/div>\n\n\n\n<p>Wichtig ist hier allerdings zu wissen, dass wir pro Tag 100 API-Anfragen kostenlos stellen k\u00f6nnen. Deshalb ist es empfehlenswert, in unsere Sleepfunktion eine wesentlich gr\u00f6\u00dfere Sekundenanzahl anzugeben. F\u00fcr jetzt ist 5 Sekunden aber erstmal okay \u2013 so k\u00f6nnt ihr gut sehen, wie das Programm arbeitet.<\/p>\n\n\n\n<p>Und zu guter Letzt legen wir jetzt noch fest, dass diese Funktion immer aufgerufen werden soll, wenn wir das Skript direkt aufrufen. Daf\u00fcr nutzen wir die if __name__ == &#8222;__main__&#8220; Funktion.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>if __name__ == &quot;__main__&quot;:\n    track_rate()<\/code><\/pre><\/div>\n\n\n\n<p>Und damit haben wir es geschafft.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 Kompletter Quellcode<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>import requests\nimport simpleaudio\nfrom time import sleep\n\n\ngoal_rate = 65000\n\n\ndef get_current_rate():\n    url = &#39;https:\/\/rest.coinapi.io\/v1\/exchangerate\/BTC\/USD&#39;\n    headers = {&#39;X-CoinAPI-Key&#39; : &#39;_____________________________&#39;}\n    response = requests.get(url, headers=headers)\n\n    current_rate = response.json()[&#39;rate&#39;]\n    return current_rate\n\n\ndef notify_user():\n    print(f&#39;Der Kurs hat die Zielmarke von {goal_rate} USD erreicht!&#39;)\n\n    wave_object = simpleaudio.WaveObject.from_wave_file(&#39;.\/sounds\/coins.wav&#39;)\n    play_object = wave_object.play()\n    play_object.wait_done()\n\n    exit()\n\n\ndef compare_current_rate_with_goal():\n    current_rate = get_current_rate()\n\n    if current_rate &gt;= goal_rate:\n        notify_user()\n\n    print(f&#39;Aktueller Kurs: {round(current_rate)} USD&#39;)\n\n\ndef track_rate():\n\n    while True:\n        print(&#39;\\nTracke Bitcoin-Kurs...&#39;)\n        compare_current_rate_with_goal()\n        sleep(3)\n\n\nif __name__ == &quot;__main__&quot;:\n    track_rate()\n<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Heute schreiben wir ein einfaches Python-Skript, mit dem wir den Kurs von beliebigen Kryptow\u00e4hrungen beobachten k\u00f6nnen. Das Skript wird aller&hellip;<\/p>\n","protected":false},"author":1,"featured_media":165,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,8],"tags":[13,7,9,11,10,12,16,15,14],"class_list":["post-145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api","category-bots-und-automatisierung","tag-aktien","tag-api","tag-bitcoin","tag-crypto","tag-etherium","tag-krypto","tag-request","tag-tracking","tag-waehrungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Krypto-Kurse tracken mit Python &mdash; Programmieren mit Chris<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Krypto-Kurse tracken mit Python &mdash; Programmieren mit Chris\" \/>\n<meta property=\"og:description\" content=\"Heute schreiben wir ein einfaches Python-Skript, mit dem wir den Kurs von beliebigen Kryptow\u00e4hrungen beobachten k\u00f6nnen. Das Skript wird aller&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Programmieren mit Chris\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-29T12:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-05T09:22:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1940\" \/>\n\t<meta property=\"og:image:height\" content=\"1091\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@chrischmayt\" \/>\n<meta name=\"twitter:site\" content=\"@chrischmayt\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"chris\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#organization\",\"name\":\"Programmieren mit Chris\",\"url\":\"https:\/\/christoph-schmalfuss.de\/blog\/\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/christoph-schmalfu\\u00df-52a93b209\/\",\"https:\/\/www.youtube.com\/channel\/UC0faHRYVxDn7chW573SSh8A\",\"https:\/\/twitter.com\/chrischmayt\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#logo\",\"inLanguage\":\"de\",\"url\":\"http:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/08\/programmieren-mit-chris-logo-ohne-schatten-3000x3000-transparent.png\",\"contentUrl\":\"http:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/08\/programmieren-mit-chris-logo-ohne-schatten-3000x3000-transparent.png\",\"width\":3000,\"height\":3000,\"caption\":\"Programmieren mit Chris\"},\"image\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#website\",\"url\":\"https:\/\/christoph-schmalfuss.de\/blog\/\",\"name\":\"Programmieren lernen mit Chris\",\"description\":\"Tutorials | Vlogs\",\"publisher\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/christoph-schmalfuss.de\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#primaryimage\",\"inLanguage\":\"de\",\"url\":\"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg\",\"contentUrl\":\"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg\",\"width\":1940,\"height\":1091},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#webpage\",\"url\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/\",\"name\":\"Krypto-Kurse tracken mit Python &mdash; Programmieren mit Chris\",\"isPartOf\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#primaryimage\"},\"datePublished\":\"2021-10-29T12:00:00+00:00\",\"dateModified\":\"2021-11-05T09:22:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/christoph-schmalfuss.de\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Krypto-Kurse tracken mit Python\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#webpage\"},\"author\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#\/schema\/person\/b64d7415ba9ac63f395509d7097012bb\"},\"headline\":\"Krypto-Kurse tracken mit Python\",\"datePublished\":\"2021-10-29T12:00:00+00:00\",\"dateModified\":\"2021-11-05T09:22:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#webpage\"},\"wordCount\":784,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg\",\"keywords\":[\"Aktien\",\"API\",\"Bitcoin\",\"Crypto\",\"Etherium\",\"Krypto\",\"Request\",\"Tracking\",\"W\\u00e4hrungen\"],\"articleSection\":[\"API\",\"Bots und Automatisierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#\/schema\/person\/b64d7415ba9ac63f395509d7097012bb\",\"name\":\"chris\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/christoph-schmalfuss.de\/blog\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/176e906a49456dda30761449564e6e69d6b070f731880e6ace0d8e2d1746f1b6?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/176e906a49456dda30761449564e6e69d6b070f731880e6ace0d8e2d1746f1b6?s=96&d=retro&r=g\",\"caption\":\"chris\"},\"sameAs\":[\"http:\/\/christoph-schmalfuss.de\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Krypto-Kurse tracken mit Python &mdash; Programmieren mit Chris","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/","og_locale":"de_DE","og_type":"article","og_title":"Krypto-Kurse tracken mit Python &mdash; Programmieren mit Chris","og_description":"Heute schreiben wir ein einfaches Python-Skript, mit dem wir den Kurs von beliebigen Kryptow\u00e4hrungen beobachten k\u00f6nnen. Das Skript wird aller&hellip;","og_url":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/","og_site_name":"Programmieren mit Chris","article_published_time":"2021-10-29T12:00:00+00:00","article_modified_time":"2021-11-05T09:22:16+00:00","og_image":[{"width":1940,"height":1091,"url":"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg","path":"\/var\/www\/virtual\/schmalin\/html\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg","size":"full","id":165,"alt":"","pixels":2116540,"type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_creator":"@chrischmayt","twitter_site":"@chrischmayt","twitter_misc":{"Verfasst von":"chris","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/christoph-schmalfuss.de\/blog\/#organization","name":"Programmieren mit Chris","url":"https:\/\/christoph-schmalfuss.de\/blog\/","sameAs":["https:\/\/www.linkedin.com\/in\/christoph-schmalfu\u00df-52a93b209\/","https:\/\/www.youtube.com\/channel\/UC0faHRYVxDn7chW573SSh8A","https:\/\/twitter.com\/chrischmayt"],"logo":{"@type":"ImageObject","@id":"https:\/\/christoph-schmalfuss.de\/blog\/#logo","inLanguage":"de","url":"http:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/08\/programmieren-mit-chris-logo-ohne-schatten-3000x3000-transparent.png","contentUrl":"http:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/08\/programmieren-mit-chris-logo-ohne-schatten-3000x3000-transparent.png","width":3000,"height":3000,"caption":"Programmieren mit Chris"},"image":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/#logo"}},{"@type":"WebSite","@id":"https:\/\/christoph-schmalfuss.de\/blog\/#website","url":"https:\/\/christoph-schmalfuss.de\/blog\/","name":"Programmieren lernen mit Chris","description":"Tutorials | Vlogs","publisher":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/christoph-schmalfuss.de\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"ImageObject","@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#primaryimage","inLanguage":"de","url":"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg","contentUrl":"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg","width":1940,"height":1091},{"@type":"WebPage","@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#webpage","url":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/","name":"Krypto-Kurse tracken mit Python &mdash; Programmieren mit Chris","isPartOf":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#primaryimage"},"datePublished":"2021-10-29T12:00:00+00:00","dateModified":"2021-11-05T09:22:16+00:00","breadcrumb":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/christoph-schmalfuss.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Krypto-Kurse tracken mit Python"}]},{"@type":"Article","@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#article","isPartOf":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#webpage"},"author":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/#\/schema\/person\/b64d7415ba9ac63f395509d7097012bb"},"headline":"Krypto-Kurse tracken mit Python","datePublished":"2021-10-29T12:00:00+00:00","dateModified":"2021-11-05T09:22:16+00:00","mainEntityOfPage":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#webpage"},"wordCount":784,"commentCount":0,"publisher":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/#organization"},"image":{"@id":"https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#primaryimage"},"thumbnailUrl":"https:\/\/christoph-schmalfuss.de\/blog\/wp-content\/uploads\/2021\/10\/Thumbnail-bitcoin.jpg","keywords":["Aktien","API","Bitcoin","Crypto","Etherium","Krypto","Request","Tracking","W\u00e4hrungen"],"articleSection":["API","Bots und Automatisierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/christoph-schmalfuss.de\/blog\/2021\/10\/29\/krypto-kurse-tracken-mit-python\/#respond"]}]},{"@type":"Person","@id":"https:\/\/christoph-schmalfuss.de\/blog\/#\/schema\/person\/b64d7415ba9ac63f395509d7097012bb","name":"chris","image":{"@type":"ImageObject","@id":"https:\/\/christoph-schmalfuss.de\/blog\/#personlogo","inLanguage":"de","url":"https:\/\/secure.gravatar.com\/avatar\/176e906a49456dda30761449564e6e69d6b070f731880e6ace0d8e2d1746f1b6?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/176e906a49456dda30761449564e6e69d6b070f731880e6ace0d8e2d1746f1b6?s=96&d=retro&r=g","caption":"chris"},"sameAs":["http:\/\/christoph-schmalfuss.de\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/comments?post=145"}],"version-history":[{"count":8,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/posts\/145\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/posts\/145\/revisions\/167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/media\/165"}],"wp:attachment":[{"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/media?parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/categories?post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/christoph-schmalfuss.de\/blog\/wp-json\/wp\/v2\/tags?post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}