Hi Leute, ich würde gern mit PHP den HTML-Inhalt diese ("https://www.semager.de/keywords/de_test.html") bzw. dieser ("https://www.semager.de/keywords/?q=test&lang=de") Seite Auslesen und als String anzeigen lassen. Mit den herkömmlichen befehlen, bekomme ich keinen Inhalt, also eine leere Seite. Gibt es eine Möglichkeit dieses Problem zu beheben? Wie sieht der dazu passende PHP-Code aus? MFG und danke schon mal im voraus ein User
User schrieb: > Mit den herkömmlichen befehlen, bekomme ich > keinen Inhalt Was hast du denn schon probiert? Gibts PHP-Fehler in der /var/log/apache2/error.log ?
yesitsme schrieb: > Was hast du denn schon probiert? file();file_get_contents();fopen();curl diese habe ich schon ausprobiert. yesitsme schrieb: > Gibts PHP-Fehler in der /var/log/apache2/error.log ? Nein, es gibt keinen PHP-Fehler, auch nicht im log. [Es kann auch sein, dass ich die Gegebenheiten nicht richtig nutze.]
Ich denke, ein Problem könnte sein, dass die Seite User schrieb: > ("https://www.semager.de/keywords/de_test.html";) sehr viel Javascript benutzt, weshalb die Seite nun-ja "keinen Inhalt" hat. Man müsste die Seite laden lassen, bevor man die Daten ausließt. Leider weiß ich nicht, wie das geht, vill. kann hier ein anderer helfen.
Nick S. schrieb: > Muss es php sein? Wie sieht es mit curl aus? User schrieb: > curl diese habe ich schon > ausprobiert.
Nick S. schrieb: > Wie sieht es mit curl aus? Wie sieh deiner Meinung nach der curl code aus? Ich habe bisher nur Online beispiele getestet, das stand dann z.B. " $curl_handle=curl_init(); curl_setopt($curl_handle,CURLOPT_URL,'http://www.google.com';); curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); $buffer = curl_exec($curl_handle); curl_close($curl_handle); if (empty($buffer)){ print "Nothing returned from url.<p>"; } else{ print $buffer; } ". Mit Google funktionier dies auch entsprechend gut, aber eben mit User schrieb: > "https://www.semager.de/keywords/de_test.html" leider nicht.
probiers so: $ch = curl_init('https://www.semager.de/keywords/de_test.html';); // initialize curl with given url curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]); // set useragent curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // write the response to a variable curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // follow redirects if any curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // max. seconds to execute curl_setopt($ch, CURLOPT_FAILONERROR, 1); // stop when it encounters an error $buffer = curl_exec($ch); if (empty($buffer)){ print "Nothing returned from url.<p>"; } else{ print $buffer; }
ist sogar recht simpel, die relevanten Daten sind im tbody, die Zeilen sind per br umgebrochen, einfach die Daten zu extrahieren
Falls es noch nicht erledigt ist... User schrieb: > file();file_get_contents();fopen();curl diese habe ich schon > ausprobiert. Diverse Funktionen muss man gegebenfalls wegen Sicherheitseinstellungen erst "aktivieren". (php.ini und Konsorten) - Manche Server / Hoster machen das aber trotdem nicht mit. Hoffentlich liegt es nicht daran...
Kolja L. schrieb: > XXAMP XXAMP, XAAMP, XAMMP und manchmal XAMPP. Jetzt hab ich sie alle gesehen. LAMP und LIMP Variationen fehlen noch. N ander´s mal.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.