Umlaut-Kodierung bei file_get_contents

Parantatatam

mag Cookies & Kekse
Hallo Tutorianer,

ich bastle gerade an einem Webcrawler, der in der Lage sein soll von duden.de Wörter auszulesen. Dazu wird versucht solange ein Wort zu generieren bis die Suchanfrage fehlschlägt (0 Suchtreffer). Problem dabei ist, dass ich auch die Umlaute ä, ö und ü brauche. Dabei unterscheidet duden.de zwischen kodierten (%FC) und unkodierten (ü) Umlauten. Ich brauche letzteres. Das Problem ist, wenn ich ersteres nehme, dann sieht er es quasi als leeres Zeichen an und sucht dann nur noch dem, was davor kam. Nehme ich letzteres, dann scheint er es auch zu kodieren, da dabei auch gleiches passiert. Gibt es eine Möglichkeit das Ganze unkodiert mit file_get_contents zu senden?

Beispiel:
Er findet das Wort aad und sucht deshalb nach Wörtern, die mit aad anfangen und danach weitere Buchstaben haben. Deshalb sieht das, was er findet, so aus:
Code:
a
aa
aad
aadä (aad?)
aadäa (aad?a)
aadäan (aad?an)
aadäand (aad?and)
aadäandä (und ab hier immer wieder die Folge äand)
Das Ganze verläuft sich also in einer endlosen Zeichenkette. Er kürzt die Kette leider erst, wenn er als letzen Buchstaben ein ü hat und dafür keine Suchtreffer bekommt. Ich brauche also wirklich die Umlaute ä, ö und ü unkodiert.
 
Das vielleicht schon, aber ich wollte das einfach mal ausprobieren. Aber ich will und werde damit weder einen DoS-Angriff ausführen noch irgendwelche Bruthforce-Attacken. Insofern sehe ich – abgesehen davon, dass ich deren Server etwas mehr als der Durchschnittsnutzer belaste – keinen Grund zur Aufregung. Außerdem ist es in PHP, was eine Effizienz schon ausschließt aufgrund der geringen Geschwindigkeit.
 
cURL eignet sehr gut sich dafür.

Insofern sehe ich – abgesehen davon, dass ich deren Server etwas mehr als der Durchschnittsnutzer belaste – keinen Grund zur Aufregung. Außerdem ist es in PHP, was eine Effizienz schon ausschließt aufgrund der geringen Geschwindigkeit.
Trotzdem ist sowas meines Wissens nach nicht erlaubt.
 
@ComFreek: Ich frage mich trotzdem, was daran jetzt genau illegal sein soll. Letztendlich entnehme ich von deren Seite doch nur Informationen, die sie auch frei zugänglich zur Verfügung stellen. Außerdem nutze ich die Informationen auch nur privat und verkaufe sie nicht, weise mich nicht als Autor derer aus. Der Unterschied ist bloß, dass ich die Informationen viel schneller als ich es per Hand könnte auslese.

@Raisch: Nein, es gibt keine API seitens duden.de für so etwas.
 
Mh, also ich habe jetzt eine Variante, bei der mein Skript pro Seitenaufruf etwa eine Sekunde braucht. Da duden.de aber auch beispielsweise ein Suchfeld hat, das per AJAX Suchvorschläge anbietet, kann die Belastung nun nicht so viel größer sein. Bei dem Suchfeld kann es leicht dazu kommen, dass er vier oder mehr Anfragen pro Sekunde an den Server sendet.
 
Es ist eigentlich recht simpel:
http://www.bi-media.de/service/agb.php#IV hat gesagt.:
Es ist dem Kunden generell nicht gestattet[....]automatische Verfahren zum Abruf von Artikeln einzusetzen.

Abgesehen davon hinkt der Vergleich mit dem autocomplete. Wenn du per file_get_contents() eine HTTP-Anfrage abschickst verursacht das bei duden.de ca. 10kb traffic(bei dem autocompleter sind es ein paar bytes pro Anfrage). Abgesehen davon dürfte die Anfrage über den autocompleter mit einem SQL-Query lösbar sein, der Aufbau des Dokumentes, welches du abfragst, dürfte Dutzende Queries erfordern um die Inhalte zu Holen.

Zur Frage ansich: ehrlichgesagt ist sie mir etwas unverständlich, könntest du den Ablauf deines Skriptes bitte mal grob skizzieren?
 
Zuletzt bearbeitet:
Zurück