AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Websiteninhalt indexieren und in DB speichern...
Thema durchsuchen
Ansicht
Themen-Optionen

Websiteninhalt indexieren und in DB speichern...

Ein Thema von unattended · begonnen am 6. Aug 2005 · letzter Beitrag vom 6. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
unattended

Registriert seit: 20. Jun 2005
13 Beiträge
 
#1

Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 12:58
Ist es möglich, ein Programm zu schreiben welches:

auf der Lufthansa Seite nach flügen sucht und jeweils die Uhrzeit, Flugnummer und Preise indexiert und in eine Datenbank schreibt ?


Ist soetwas möglich, wenn ja was sollte ich mir anschauen an Befehlen etc. pp.

Danke.

cya,
unattended
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Ist es möglich...

  Alt 6. Aug 2005, 13:02
Du könntest dir die Internetseite in deinem programm laden (bspw. TWebbrowser), die Formular-felder etc ausfüllen, abschicken und das Ergebniss auswerten.

Ob die Lufthansa damit einverstanden ist, kann ich dir nicht sagen, müsstest du aber bei denen auf der Website finden (ich denke mal nein)

gruss

PS: Geb deinem Thread bitte mal einen Assagekräftigeren Titel.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
unattended

Registriert seit: 20. Jun 2005
13 Beiträge
 
#3

Re: Ist es möglich...

  Alt 6. Aug 2005, 13:08
@MrKnogge

1)ja Lufthansa ist damit eiverstanden, habe jemanden der dort arbeitet. Jedoch können die mir keinen direkten Zugriff auf die Datenbank geben, das wäre ja noch schöner, könnte ich mal ebend Flugdaten ändern

zu deinem vorschlag:
hört sich soweit nicht schlecht an, jedoch was meinst du mit auswerten ? Ich möchte/muss das so haben, dass ich das in eine datenbank schreiben kann.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Ist es möglich...

  Alt 6. Aug 2005, 13:11
eben, du hast dann quasi die seite wie du sie im InternetExplorer hättest in deinem Programm, und nun müsstest du dir die benötigten Info's raus parsen.

gruss

PS: Statt der zusage deine Bekannten der dort arbeitet meinte ich eher etwas schriftliches.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#5

Re: Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 13:13
Wieso die Seite in einem TWebbrowser parsen? Es reicht doch vollkommen, eine ganz normale Anfrage abzugeben und den Rückgabequelltext mit Regulären Ausdrücken auszuwerten, oder? Also so würde ich an die Sache rangehen.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
unattended

Registriert seit: 20. Jun 2005
13 Beiträge
 
#6

Re: Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 13:17
hi,
ja habe was schriftliches. Ich meinte eher, das mein Bekannter das bei Lufthansa geregelt habe. Also ich habe hier n Papier mit echter Unterschrift von Lufthansa liegen.
Das einzige was ich nicht darf ist die Daten für kommerzielle zwecke zu entwenden, was ich ja nicht mache oder will.


zum parsen:
Gut, was schlägst du denn vor wie ich da was parsen kann, sodass ich das optimal habe ? Habe sowas noch nie gemacht. Hast du da eventuell beispiele zur Hand ?

@moritz
hast du ein beispiel, welches das mal simuliert ? Hört sich ja auch logisch an. Das problem was ich wohl hätte ist, wie die Daten dann auslesen kann.

danke schonmal.

cya,
unattended
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#7

Re: Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 13:33
Also, die Sache ist so: Wenn du das über einen TWebbrowser machst, dann ist das ganz einfach Resourcenverschwendung, abgesehen davon ist das eine ziemlich unsaubere Lösung - Wieso eine Seite anzeigen, wenn man eh nur am Quellcode interessiert ist?
Wenn man jetzt zum Beispiel das Lufthansa-Formular hast:
Code:
<form name="fmBooking" method="post" target="_parent" action="https://aero.lufthansa.com/aerodyn/fb_main.aero">
sind die Interessanten Sachen für dich method und action. Method sagt dir den "Übertragungsweg" (In diesem Fall post, der etwas schwerer zu implementieren ist als get, dafür allerdings weniger probleme wegen codierung etc. bereitet). Action sagt dir das Ziel. Jetzt musst du dir noch die Formularfelder raussuchen, die du haben willst, und mit dem ganzen Zeugs dann entweder idHTTP füttern oder das ganze selber Implementieren. Dann bekommst du als Rückgabe den Quelltext der Ergebnisseite, den du dann mit Regulären Ausdrücken (Dazu gibts genug Themen hier) auswerten kannst, und schon bist du bei deinen Ergebnissen.

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
unattended

Registriert seit: 20. Jun 2005
13 Beiträge
 
#8

Re: Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 13:44
gut, soweit wäre mir das eventuell auch noch klar, wobei ich gerade nicht weiß wie ich idhttp damit füttern soll, aber ich denke das finde ich schon irgendwo.

Aber zum auswerten:
Du sagst es gibt genug im Forum ? Nach was sollte ich denn suchen, hab schon nach "webseite auswerten", daten auswerten, auswerten gesuht, aber nichts brauchbares gefunden, womit ich dieses Problem lösen könnte. Ich habe z.B. hier mal ein teil der Webseite:

Delphi-Quellcode:
 <tr>
  <td valign="bottom" width="90" class="axisM">
   [url="fb_main.aero?action=details&fb_seg=1&fb_con=0"]LH247[/url]


    [b]<nobr>06:55-08:00</nobr>[/b]
  </td>
  <td valign="bottom" width="90" class="axisM">
   [url="fb_main.aero?action=details&fb_seg=1&fb_con=1"]LH249[/url]


    [b]<nobr>08:15-09:20</nobr>[/b]
  </td>
  <td valign="bottom" width="90" class="axisM">
   [url="fb_main.aero?action=details&fb_seg=1&fb_con=2"]LH251[/url]


    [b]<nobr>09:55-11:00</nobr>[/b]
  </td>
  <td valign="bottom" width="90" class="axisM">
   [url="fb_main.aero?action=details&fb_seg=1&fb_con=3"]LH253[/url]<font color=""><sup>(1)</sup></font>


    [b]<nobr>10:55-12:00</nobr>[/b]
  </td>
  <td valign="bottom" width="90" class="axisM">
   [url="fb_main.aero?action=details&fb_seg=1&fb_con=4"]LH255[/url]<font color=""><sup>(1)</sup></font>


    [b]<nobr>12:25-13:30</nobr>[/b]
  </td>
 </tr>
 <tr valign="top">
  <td valign="top" width="115" class="axisM">
   <span class="hdgM">Hinflug:</span>
[url="popup.aero?content=ci_main.aero%3Faction%3Dcity%26city%3DDUS%26popup%3D1"]DUS[/url]-[url="popup.aero?content=ci_main.aero%3Faction%3Dcity%26city%3DBER%26popup%3D1"]TXL[/url]
7.Aug2005
  </td>
  <td colspan="7"></td>
 </tr>
 <tr valign="bottom">
  <td valign="bottom" class="axisM"><spacer type="block" height="10" width="51">
  </td>
  <td valign="top" colspan="7" width="482" class="axisM">
   
  </td>
 </tr>
 <tr valign="top">
  <td valign="top" width="115" class="axisM">
    [url="fb_main.aero?action=details&fb_seg=0&fb_con=0"]LH252[/url]<font color=""><sup>(1)</sup></font>


    [b]<nobr>10:55-12:00</nobr>[/b]


    
  </td>
  <td valign="top" width="12" class="axisM"></td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~0~K&fb_select1=1~0~G"]&euro;285,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~0~K&fb_select1=1~1~Y"]&euro;348,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~0~K&fb_select1=1~2~Y"]&euro;348,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~0~K&fb_select1=1~3~K"]&euro;241,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~0~K&fb_select1=1~4~L"]&euro;205,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="12" class="axisM"></td>
 </tr>
 <tr valign="top">
  <td valign="top" width="115" class="axisM">
    [url="fb_main.aero?action=details&fb_seg=0&fb_con=1"]LH256[/url]<font color=""><sup>(1)</sup></font>


    [b]<nobr>14:30-15:35</nobr>[/b]


    
  </td>
  <td valign="top" width="12" class="axisM"></td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~1~K&fb_select1=1~0~G"]&euro;285,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~1~K&fb_select1=1~1~Y"]&euro;348,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~1~K&fb_select1=1~2~Y"]&euro;348,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~1~K&fb_select1=1~3~K"]&euro;241,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="90" class="priceM">[url="fb_main.aero?action=price&fb_select0=0~1~K&fb_select1=1~4~L"]&euro;205,37[/url][img]/img/fly/blank.gif[/img]
[img]/img/fly/blank.gif[/img]</td>
  <td valign="top" width="12" class="axisM"></td>
 </tr>
So, wie komme ich da z.B. an den Flug Lh252 ran, mit dem ersten Preis: 285,37€ ?
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#9

Re: Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 13:56
Dafür musst du den Quelltext ein bisschen analysieren. Ich hab ihn mir ein bisschen angeschaut, und folgendes ist dabei rausgekommen:
1.) Zu jedem Flug gibt es einen Link:
Code:
[url="fb_main.aero?action=details&fb_seg=1&fb_con=0"]LH247[/url]
2.) Dieser Link enthält eine Segment und einen Con(tinuierliche?) ID
Code:
[url="fb_main.aero?action=details&[b]fb_seg=1[/b]&[b]fb_con=0[/b]"]LH247[/url]
3.) Genau diese ID's finden sich beim Preis auch:
Code:
[url="fb_main.aero?action=price&fb_select0=0~0~K&fb_select1=[b]1[/b]~[b]0[/b]~G"]&euro;285,37[/url]
Und genau auf diese Weise musst du diese Webseite auswerten. Das wäre zum Beispiel schon die Möglichkeit, an den Preis von Flug LH247 ranzukommen. Erst die ID's aus 2. auslesen, dann genau diese in 3. suchen. Und zu Bei Google suchenRegulären AND Ausdrücken sagt dir Google genug.

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
unattended

Registriert seit: 20. Jun 2005
13 Beiträge
 
#10

Re: Websiteninhalt indexieren und in DB speichern...

  Alt 6. Aug 2005, 14:16
hmm,
ich hab mir jetzt paar sachen von Google angeschaut, unter anderem die Erklärung von regulären Ausdrücken und Anwendung in der MSDN.

Nur versteh ich das nicht genau wie ich das auf meine Sache überleiten soll, geschweige wie der Suchstring lauten muss.

cya,
unattended
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:42 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