AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Daten auslesen aus Webseite
Thema durchsuchen
Ansicht
Themen-Optionen

Daten auslesen aus Webseite

Ein Thema von MaToBe · begonnen am 1. Dez 2009 · letzter Beitrag vom 1. Dez 2009
Antwort Antwort
MaToBe

Registriert seit: 2. Aug 2008
162 Beiträge
 
#1

Daten auslesen aus Webseite

  Alt 1. Dez 2009, 13:43
Guten Tag,

ich suche siet etwa 1 Monat einen Gebrauchtwagen auf mobile.de und autoscaut24.de. Ich führe immer den gleichen Suchauftrag und hoffe das mir irgendwann mal ein Auto auffällt das ich mir leisten kann und in meiner Nähe ist.

Nun ist es ziemlich nervig, etwa alle 2 Tage um die 800 Autos zu überfliegen um zu sehen ob etwas dabei ist / bzw. ob neue Autos dazugekommen sind, die meinen speziellen Suchanforderungen wie zb. 20km Umkreis, Baujahr < 2001 usw. entsprechen.

Kann man nicht irgendwie ein Programm schreiben, dass automatisch solch einen Suchauftrag durchführt, die Suchergebnisse dann abgleicht mit den Ergebnissen von gestern und dir die neuen Einträge letzt endlich ausgibt?

Über die Funktion und was das Programm alles können soll kann man sich dann ja noch gedanken machen... aber ist sowas prinzipiell überhaupt möglich, die daten in geeigneter weise irgendwie von der webseite zu bekommen, ohne dass man jetzt zugriff auf deren interne datenbank hat?

MFG MaToBe

PS: Die Angebotenen E-Mail Suchaufträge bei den beiden Webseiten sind nicht sehr durchdachte, da sie einem sehr unübersichtlich auch immer wieder Autos anzeigen, die man längst schon 3 mal gesehn hat und man nicht kaufen will.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Daten auslesen aus Webseite

  Alt 1. Dez 2009, 13:49
Wie ich diesen Typus Seite so kenne (allerdings nicht von dieser), kann man sich das automatisch vom Server dort organisieren lassen. Man muss sich nur einloggen und entsprechendes Kästchen anhaken.
Ok, Edit sagt es.

Also, ja, man kann das auch mit Delphi machen. Seite anfordern (idhttp oder XMLHttpRequest) und Antwort durchparsen.
Letzteres dürfte der schwierigere Teil werden.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#3

Re: Daten auslesen aus Webseite

  Alt 1. Dez 2009, 15:28
Ich würde vorher sehr genau prüfen ob solche Crawler den geduldet werden, ich denke eher nein.
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#4

Re: Daten auslesen aus Webseite

  Alt 1. Dez 2009, 15:55
Wenn die Seite es ermöglicht, sämtliche neuen angebote per email zu erhalten, wäre das der bessere Weg, da die Informationen dort schon heruntergekocht sind und du dann die in der email hoffentlich enthaltenen direktlinks gezielt abklappern kannst (Wie das geht, ist klar? Ansonsten hab ich dir mal ein Codehäppchen angehängt, mit dem du loslegen kannst)
Angehängte Dateien
Dateityp: rar httpdl_773.rar (176,0 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
MaToBe

Registriert seit: 2. Aug 2008
162 Beiträge
 
#5

Re: Daten auslesen aus Webseite

  Alt 1. Dez 2009, 19:49
ich muss ehrlich sagen das ich mehr oder weniger anfänger bin und das projekt wahrscheinlich viel zu groß für mich ist im moment, aber ich wills mal versuchen.
ich habe diese Funktion hier gefunden:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var aNode,aNode2 : Olevariant;
   r,c,z,z2 : Integer;
begin
  //item(6) = 7te Tabelle in der Webseite
  aNode := WebBrowser1.OleObject.Document.all.tags('table').Item(1);
  r := aNode.all.tags('tr').Length;//Zeilen feststellen
  StringGrid1.RowCount := r;
  for z := 0 to r-1 do
    begin
    aNode2 := aNode.all.tags('tr').Item(z);
    c := aNode2.all.tags('th').Length;
    if c > 0 then
      begin
      if c > StringGrid1.ColCount then
        StringGrid1.ColCount := c;
      for z2 := 0 to c-1 do
        StringGrid1.Cells[z2,z] := aNode2.all.tags('th').Item(z2).innerText;
      end;
    c := aNode2.all.tags('td').Length;
    if c > 0 then
      begin
      if c > StringGrid1.ColCount then
        StringGrid1.ColCount := c;
      for z2 := 0 to c-1 do
        StringGrid1.Cells[z2,z] := aNode2.all.tags('td').Item(z2).innerText;
      end;
    end;
end;
und sie klappt eigentlich auch sehr gut, nur dass mir die ausgabe in ein stringgrit nicht gefällt, da es schwer zu sortieren ist, keine bilder angezegit werden können und ich eher so eine art liste bevorzugen würde. am Besten sogar noch eine ausklappbare... Was für eine Komponente würdet ihr mir Raten?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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