PHP Werte aus Homepage auslesen

waffi

Cadet 2nd Year
Registriert
Nov. 2013
Beiträge
21
Moin Zusammen,

Ich probiere gerade einen Wert auszulesen. Bin hier im Forum auf diesen Beispiel Code gestossen:

Code:
<?php

  $url = "https://buybitcoinworldwide.com/stats/monthly-rsi/";

  $fp = file_get_contents($url);
  echo $fp;
 
?>

Leider kommt beim aufrufen immer diese Fehlermeldung:

Please wait...
If you have enough time to read this entire message then probably something went wrong. Please check if JavaScript and cookies are enabled in your browser.

Cookies und JavaScript sind beide aktiviert. Muss ich es mit einem anderem Befehl holen? Mein Ziel ist es, die letzten zwei RSI Werte auszulesen.

Danke für die HIlfe und einen schönen Sonntag :)
 
waffi schrieb:
Bin hier im Forum auf diesen Beispiel Code gestossen:
Nur mal so: Üblicherweise verbieten fremde Websiten (zurecht) das automatische Parsing von Websiten. Also wenns nicht gerade deine eigene Seite ist, ist hier schnell Schluss mit Hilfe.
 
  • Gefällt mir
Reaktionen: waffi
das was du machst ist das gleiche wie dieser curl-aufruf:

Code:
$ curl https://buybitcoinworldwide.com/stats/monthly-rsi/
<html>
<header>
<script src="/stats/theme/theme1/vendor/jquery/jquery.min.js"></script>
<link href="/stats/theme/theme1/css/sb-admin-2.min.css" rel="stylesheet">
</header>
<body>
<div class="container-fluid" style="padding-top: 20px;">
<div class="row">
<div class="col-xl-12 col-lg-12">
<div class="alert alert-primary" role="alert" id="message">
Please wait...<br>
If you have enough time to read this entire message then probably something went wrong. Please check if JavaScript and cookies are enabled in your browser.

...

die file_get_contents() funktion ist kein browser, der ja nach diesem initialen abruf auf die ganzen verlinkten ressourcen wie z.b. javascript nachladen und ausführen würde. die url, die du aufrufst, hat initial keine informationen zum parsen, die werden erst dynamisch per javascript nachgeladen.
 
  • Gefällt mir
Reaktionen: waffi
@waffi

PHP läuft auf dem "Web Server" vereinfach gesagt gibt es dort kein JavaScript. Viele Webseite bestehen heute beinahe nur noch aus JavaScript Code.

Die kannst du auf diesen Weg nicht lesen.

Grundsätzlich bleibt die Frage was du das genau willst. Wenn du BitCoind Daten auf deiner Webseite ausgeben willst, würde ich dafür eine entsprechende API nehmen.

Z.b. diese hier: https://www.coinapi.io/

Aber es gibt sicher noch weitere die man mit "Bitcoin API" als Suchbegriff finden kann.
 
  • Gefällt mir
Reaktionen: waffi
Danke euch für die Antworten. :) Zurzeit hole ich den Wert schon über eine API, aber dort kriege ich leider nur den Wert von einer Woche. Hab schon nachgefgragt, ob sie auch den 1 Monatswert hinzufügen können. Mal schauen. :)

Hab jetzt mehrere API angeschaut aber immer das gleiche.. Ich schaue am Nachmittag wie sich der RSI Wert berechnent und probiere den Wert selber auszurechnen.

Nochmals danke euch. :)
 
Web scraping ist die denkbar unzuverlässigste Möglichkeit, um Daten auszulesen. Und, wie bereits erwähnt, wehren sich Webseiten zu Recht dagegen mit unterschiedlichen Mitteln. Technisch ist Scraping natürlich mit z. B. symfony/panther möglich. Dazu benötigt man noch einen Headless Browser (Chrome/Firefox).

Das sollte aber wenn dann überhaupt nur als temporäre Lösung verwendet werden, bis deren API aktualisiert ist. Hier einfach Rücksprache zu halten und API korrigieren zu lassen ist definitiv der korrekte Schritt. Vorbildlich! 👍
 
  • Gefällt mir
Reaktionen: waffi und kim88
Zurück
Oben