Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi wie kann ich diese daten der internetseite auslesen? (https://www.delphipraxis.net/155820-wie-kann-ich-diese-daten-der-internetseite-auslesen.html)

BBoy 9. Nov 2010 13:12

wie kann ich diese daten der internetseite auslesen?
 
es geht um folgende Internetseite: http://www.geocaching.com/map/defaul...&lng=8.9999799
Darauf ist rechts so eine kleine Tabelle (Cache Name, GCCode) deren Daten würde ich gerne auswerten und verarbeiten.
Im Quelltext ist diese Tabelle leider nicht aufgeführt.

Mit HTML Phrasen habe ich schon Erfahrung, nur weiß ich nicht wie ich an die Daten komme.
Kann mir bitte jemand sagen wie ich an die Daten der Tabelle komme? Denke mal muss mit Indyhttp arbeiten, wahrscheinlich mit post. Aber wie komme ich da an diese daten?
Wäre nett wenn jemand helfen könnte. danke.

Miolin 9. Nov 2010 13:36

AW: wie kann ich diese daten der internetseite auslesen?
 
Also wenn ich mit dem Firefox diese Seite öffne und mir den Quelltext anzeigen lasse, dann sehe ich diese Tabelle im HTML.
Entweder einen TWebBrowser, und mit dem die Source der Seite als String erhalten, oder mit den Indy-Komponenten. Das ist ziemlich simpel. Google oder hier im Forum suchen haben mir damals geholfen, Link hab ich aber leider nicht zur Hand, sorry.
Und zum Auswerten dann Regular Expressions.

mjustin 9. Nov 2010 13:47

AW: wie kann ich diese daten der internetseite auslesen?
 
Die Daten werden anscheinend als dynamisches HTML (Ajax) in die Seite eingefügt.

Um sie auszulesen, kann man die TWebbrowser Komponente verwenden. Wenn das Dokument geladen ist, kann man über DOM navigieren und das gewünschte Element mit der ID (hier "cacheListBody") abfragen, wenn ich mich recht erinnere auch per XPath Ausdruck.

Im HTML Quelltext der Seite kann man sie nicht sehen, da sie erst nach dem Laden durch die Javascript funktionen hinzugefügt werden.

Selber habe ich diese Technick noch nicht angewandt, aber im Forum gab es schon mehrere Beiträge dazu (und sicher auch einige Experten).

Zum Betrachten des kompletten DOM Tree kann man das Plugin Firebug verwenden. Auf der DOM Seite kann man dann auf den Knoten "document.body.innerHtml" navigieren und sieht den HTML Sourcecode mit den per Script ergänzten Daten.

BBoy 9. Nov 2010 13:55

AW: wie kann ich diese daten der internetseite auslesen?
 
DOM ? über Twebbrowser im DOM navigieren? Kann mir dazu auch jemand kurz etwas sagen, wie das gehen soll?

Kenne es nur so das ich den gesamten quelltext nach bestimmten stellen durchforste und so die daten auswerte.

Meflin 9. Nov 2010 14:59

AW: wie kann ich diese daten der internetseite auslesen?
 
Viel einfacher gehts, wenn du anstelle der Google Maps-Suche einfach die normale verwendest. Der kannst du auch Koordinaten übergeben und das macht dann einen einzigen Get-Request und anschließendes parsen der Antwort.

Bummi 9. Nov 2010 15:05

AW: wie kann ich diese daten der internetseite auslesen?
 
seit IE 8 Extras/Entwicklertools

BBoy 9. Nov 2010 16:26

AW: wie kann ich diese daten der internetseite auslesen?
 
ein kleines code beispiel wäre mir sehr hilfreich, da ich mit DOM nun leider nichts anfangen kann.
Ist das vlt. so etwas in der Art
Code:
s:= WebBrowser1.OleObject.document.forms.item('formID').elements.item('ElemID').value;
@Meflin, wie soll das gehen mit der google suche geocaches in meiner umgebung zu suchen? was muss ich eingeben?

Meflin 9. Nov 2010 16:37

AW: wie kann ich diese daten der internetseite auslesen?
 
Zitat:

Zitat von BBoy (Beitrag 1060606)
@Meflin, wie soll das gehen mit der google suche geocaches in meiner umgebung zu suchen? was muss ich eingeben?

Wer redet von der Google-Suche?
http://www.geocaching.com/seek/neare...submit3=Search

Matze 9. Nov 2010 17:32

AW: wie kann ich diese daten der internetseite auslesen?
 
Hallo,

kläre mal mit dem Betreiber ab, ob das Auslesen und Parsen des HTML-Codes mittels eigenem Programm gestattet ist.
Ich gehe stark davon aus, dass dies nicht erlaubt ist.
Ich konnte die Nutzungsbedingungen von Groundspeak (= Betreiber von geocaching.com) nur im Registrierungsformular finden, aber die stehen vermutlich auch noch wo anders. Dort steht jedenfalls:
Zitat:

You agree that you will not use any robot, spider, scraper or other automated means to access the Site for any purpose without our express written permission.
Und wenn man etwas im Internet liest, wird deutlich, dass Groundspeak weder eine API anbietet, noch automatisierte Zugriffe gestattet.

Also sicherheitshalber nachfragen, bevor es Ärger gibt.

Grüße
Matze

himitsu 9. Nov 2010 18:16

AW: wie kann ich diese daten der internetseite auslesen?
 
Irgendwoher muß Google ja die Daten bekommen, also könnte es irgendwo eine API geben.

toms 9. Nov 2010 18:23

AW: wie kann ich diese daten der internetseite auslesen?
 
Warum spidern verboten ist und es keine API gibt

Zusammenfassung (letzter Satz des Blogs)
Zitat:

Unter diesen Gesichtspunkten, dass das Konzept Groundspeak auf ihrer Datenbank beruht, wird es wohl niemals eine Schnittstelle dazu geben und auch das crawlen zum replizieren dieser Daten wird weiterhin verboten bleiben und hart bestraft

BBoy 9. Nov 2010 20:15

AW: wie kann ich diese daten der internetseite auslesen?
 
Zitat:

Zitat von Meflin (Beitrag 1060609)
Zitat:

Zitat von BBoy (Beitrag 1060606)
@Meflin, wie soll das gehen mit der google suche geocaches in meiner umgebung zu suchen? was muss ich eingeben?

Wer redet von der Google-Suche?
http://www.geocaching.com/seek/neare...submit3=Search

ah, ok so meintest du das. Ja so könnte ich es wie ich es kenne realisieren.

Und ich möchte da keine 100 abfragen oder ähnliches machen, 1 oder 2 mal am tag eine einfache abfrage. ist das selbe als würde ich im browser auf den link klicken nur das mir die software die daten schneller analysieren kann :)

Es gibt da auch ein firefox plugin (gpx downloader), das phraset auch den html code und da sagt keiner was. Denke so lange das normale abfragen sind, wird das ok sein. woher sollten die auch wissen ob ich die seite aufrufe im Browser oder auf einen delphi programm. Die Browserkennung kann man ja einstellen.
Werde mich mal erkundigen ob die echt was gegen so einfache abfragen haben....


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz