Ajax und Google Suche
ebody
- javascript
Hallo,
per JQuery Ajax Funktion lese ich den Code einer Seite ein. Das funktioniert auch für jede URL, nur wenn ich eine Google URL inkl. Suchparameter abfrage (z.B. https://www.google.de/search?q=jquery+ajax), funktioniert es nicht.
Andere URLs mit https habe ich getestet und hat immer funktioniert.
Wenn ich nur die ajax.php mit der Google URL teste ist alles ok.
Hat jemand eine Idee, warum das nicht funktioniert?
Jquery Code:
$.ajax({
type: "GET",
url : "ajax.php",
dataType: "json",
data: { seite: "https://www.google.de/search?q=jquery+ajax", art: "suche" },
error: function () {
console.log("Oh no! Something went terribly wrong in here!");
}
})
.done(function (data) {
console.log("Inhalt: " + data.content);
});
ajax.php Code:
set_time_limit(90);
error_reporting(E_ALL);
//$_GET['seite'] = 'https://www.google.de/search?q=jquery+ajax';
$htmlCode = file_get_contents($_GET['seite']);
//$htmlCode = $_GET['seite'];
$json = array(
"content" => $htmlCode,
);
//var_dump($json);
//echo $htmlCode;
echo json_encode($json);
Gruß
ebody
Hi,
per JQuery Ajax Funktion lese ich den Code einer Seite ein. Das funktioniert auch für jede URL, nur wenn ich eine Google URL inkl. Suchparameter abfrage (z.B. https://www.google.de/search?q=jquery+ajax), funktioniert es nicht.
Was bedeutet „funktioniert nicht“ genau, und was hast du bisher an Debug-Maßnahmen unternommen?
Hat jemand eine Idee, warum das nicht funktioniert?
Es könnte schlicht und einfach daran liegen, dass Google sich gegen deine Scraping-Versuche wehrt.
Wenn du automatisiert suchen willst, solltest du dafür Googles API benutzen.
MfG ChrisB
Was bedeutet „funktioniert nicht“ genau, und was hast du bisher an Debug-Maßnahmen unternommen?
error: function () {
console.log("Oh no! Something went terribly wrong in here!");
}
Als Debugging Maßnahme habe ich bisher eigentlich nur verschiedene URLs getestet.
Es könnte schlicht und einfach daran liegen, dass Google sich gegen deine Scraping-Versuche wehrt.
Wenn du automatisiert suchen willst, solltest du dafür Googles API benutzen.
Das kann natürlich sein, da ich aber nicht täglich mit JQuery und PHP arbeite wollte ich erstmal sichergehen, dass keine Fehler im Script sind, evtl. Konfigurationen (php.ini usw) vorgenommen werden müssen.
Danke für deine Einschätzungen und Infos.
Gruß
ebody
Noch eine Ergänzung.
Das PHP Script alleine funktioniert ja auch mit der Google URL. Hier wird der Code eingelesen und kann ihn ausgeben.
Gruß
ebody
Hi,
ich bin mir nicht sicher.
Wenn Google das nicht will, könntest du mit file_get_contents() die URL abfragen und dann mit AJAX die php laden.
Probiers mal aus :-)
Viele Grüße aus LA
Hi,
oben im ajax.php Code lade ich mit file_get_contents() den Code ein und übergebe den.
Ist das wie von dir gedacht oder meintest du was anderes?
Gruß
ebody
oben im ajax.php Code lade ich mit file_get_contents() den Code ein und übergebe den.
Ist das wie von dir gedacht oder meintest du was anderes?
ups - hab den code von dir nicht beachtet.
was hat der Seitenquelltext der Suchseite, mit JSON zu tun?
Viele Grüße aus LA
ups - hab den code von dir nicht beachtet.
was hat der Seitenquelltext der Suchseite, mit JSON zu tun?
Keine Ahnung, ich habe ein Script genommen und es angepasst. Was wäre richtig hier zu verwenden?
Gruß
ebody
Keine Ahnung, ich habe ein Script genommen und es angepasst. Was wäre richtig hier zu verwenden?
nun - dein script bezieht sich wahrscheinlich auf solche 'info-Seiten' die JSON ausgeben.
Bei der Googlesuchseite, klick mal rechts -> Quelltext anzeigen, bekommste sowas mit file_get_contents.
Viele Grüße aus LA
Ich habe den Code angepasst
$.ajax({
type: "GET",
url : "ajax.php",
dataType: "html",
data: { seite: "https://www.google.de/search?q=jquery+ajax", art: "suche" },
error: function () {
console.log("Oh no! Something went terribly wrong in here!");
},
success: function () {
console.log("Hat funktioniert!");
}
})
.done(function (data) {
console.log("Inhalt: " + data.content);
});
success Funktion wird ausgeführt. Die error Funktion nicht mehr.
data.content ist allerdings undefined.
Schon mal besser als eben, aber noch nicht 100% :-)
Gruß
ebody