Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

11

16.09.2010, 19:41

@ xardias, die daten werden doch aber wohl per java-script ausgelesen oder liege ich da falsch??

Das ist richtig, das macht eine dynamische Seite aus.
Im Grunde macht es das sogar noch einfacher. Da du die Daten in kompakter Form vom Webservice abfragen kannst. Wie das geht kannst du wie gesagt über die Developer Tools deines Browsers herausfinden (Oder Firebug für Firefox).

nonamedewd

Frischling

Beiträge: 6

Wohnort: Wildau

Beruf: Analyst

  • Private Nachricht senden

12

16.09.2010, 19:45

du kannst Java-Apps in eine seite einbinden, dazu muss aber beim "Enduser" die Java Virtual Machine laufen und an die Daten im App wirst du nicht einfach so rankommen. Macht auch keinen Sinn, denn über ein Java-App wird man keine Newsletter, Artikel oder Blogs anbieten, höchstens integrierte "Programme", wie Taschenrechner oder Mathesoftware zum berechnen und/ oder zeichnen einer Kurve ( z.B. ).

zwischen Javascript und Java besteht ein großer unterschied.
Java ist eine Programmiersprache, die von einer VM (Virtual Machine) interpretiert wird. kompilierter Javacode präsentiert den Bytecode, welches von der VM, wie schon erwähnt "interpretiert" wird und am Ende das Programm laufen lässt. Ohne VM geht da nix.

Javascript ist, wie schon im Namen steht, eine Skriptsprache. Javascript wird vom jeweiligen PC+Browser ausgeführt, d.h. das ein Benutzer Javascript auch gerne deaktivieren kann. Javascript bewirkt nichts anderes als etwas mehr Dynamik in eine Webseite zu bringen. z.B. dass ein verstecktes <div> Tag im DOM durch betätigen eines Links oder Buttons, erscheint. ( Ein Beispiel sind Dropdown-Menüs )

weiter geht es mit Skriptsprachen, die von einem Server interpretiert werden. Diese stehen meistens mit einer Datenbank in Verbindung.
Beispiel: PHP, ASP.NET
Ich nehme jetzt einfach mal PHP, mit .NET hatte ich bisher nicht viel zu tun *kotz, microsoft, bäh, ih*
Apache heißt der Server, der den PHP-Code interpretiert und so ein Webseite tatsächlich Dynamisch macht. Beim Aufruf der Seite werden Daten aus einer Datenbank geladen, ob es News, Kundendaten, Produktdaten, Blogeinträge oder sonstige Daten sind spielt keine Rolle. Diese Daten werden beim Aufrufen der Webseite vom PHP-Code von der Datenbank geladen und binnen weniger sekunden/ millisekunden als HTML-Seite angezeigt.

für mich ist HTML nichts weiter als ein Werkzeug, um texte und bilder formatiert darzustellen. HTML ist statisch, viel dynamik kann man damit nicht in eine Webseite bringen. Dafür wurden weitere Schnittstellen, wie CGI, Javascript, PHP, .NET, AJAX erfunden, um aus HTML einfach mehr zu machen.

Bevor du einen Crawler bastelst solltest du dich mehr mit den einzelnen Technologien beschäftigen... Ohne Regex (Regular Expressions), XPath und XML wirst du nicht sehr weit kommen, ohne HTML erst recht nicht.


Ich bin kein Webentwickler, verfüge aber über die Kenntniss mit den einzelnen Technologien umzugehen, deshalb solltest du meine Beschreibungen nicht als Definitionen nehmen. Da greife lieber zu anderen Quellen!

Ich kann dir nur empfehlen dich mit dem HtmlAgilityPack zu beschäftigen. Damit kannst du HTML Seiten parsen. der Rest ist das umwandeln in ein XML Dokument und alles weitere, was ich dir vorher schon geschrieben habe. außer dem Parser findest du alles andere in den Bibliotheken von C#.

hanse

Alter Hase

Beiträge: 472

Wohnort: Wien

  • Private Nachricht senden

13

16.09.2010, 20:01

Du solltest garkeinen Crawler bauen, weil der wird dich nicht weiterbringen, da wie du schon gesagt hast das nur für so statische Seiten geeignet ist, da hilft dir auch kein XPath Buzzword bla weiter. Ich hab zuerst an so UI Automation (einfach mal googeln) gedacht, aber das kann ziemlich umständlcih sein (hab da grad selber mit zu kämpfen). Ich denke der Weg der Wahl ist so wie xardi es schon beschrieben hat (auch wenn es n bisschen aufwendig sein kann raus zu finden wie das alles zusammen hängt)

nonamedewd

Frischling

Beiträge: 6

Wohnort: Wildau

Beruf: Analyst

  • Private Nachricht senden

14

16.09.2010, 20:25

wenn er die daten haben möchte, die auf der seite stehen, ist browser automation völlig überdimensioniert.

ein multithreaded crawler/ spider, der die daten täglich scant.
jede seite hat die eigenen expressions.
damit kriegst du alles, was an daten auf einer seite zu finden ist.

du hast nicht viel mit business intelligence zu tun gehabt oder?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nonamedewd« (16.09.2010, 20:38)


hanse

Alter Hase

Beiträge: 472

Wohnort: Wien

  • Private Nachricht senden

15

16.09.2010, 20:33

Entschuldigung ich nicht sprechen Schlipsisch!

16

16.09.2010, 21:43

wenn er die daten haben möchte, die auf der seite stehen, ist browser automation völlig überdimensioniert.
ein multithreaded crawler/ spider, der die daten täglich scant.
jede seite hat die eigenen expressions.
damit kriegst du alles, was an daten auf einer seite zu finden ist.
du hast nicht viel mit business intelligence zu tun gehabt oder?

wie soll ein normaler crawler inhalte finden, die über jquery o.Ä. auf javascript-befehl hin geladen werden?

und der Verweis auf ASP und Java ist durchaus angemessen, sind es doch gerade so erstellte webseiten die vermehrt auf AJAX setzen. Und wenn dann auch noch Späße wie GWT eingesetzt werden, ist das ganze wirklich sehr schwer zu trennen, da GWT Java-Code in javascript-code kompiliert.... Inhalte die so geladen werden, sollten kaum mit einem normalen crawler erfassbar sein...

17

16.09.2010, 21:54

wenn er die daten haben möchte, die auf der seite stehen, ist browser automation völlig überdimensioniert.

ein multithreaded crawler/ spider, der die daten täglich scant.
jede seite hat die eigenen expressions.
damit kriegst du alles, was an daten auf einer seite zu finden ist.

du hast nicht viel mit business intelligence zu tun gehabt oder?
Was hat multithreading mit dem Thema zu tun? Was haben spider/crawler mit dem Thema zu tun? Business intelligence ist ein buzzword hier geht es um eine technische Lösung nicht um eine abstrakte Projektplanung. Ausserdem geht es hier um Ajax nicht um statische Seiten. Zuhören heißt das Zauberwort...

Ich denke die Lösung mit dem Daten abholen und dann parsen ist wohl die beste.

nonamedewd

Frischling

Beiträge: 6

Wohnort: Wildau

Beruf: Analyst

  • Private Nachricht senden

18

16.09.2010, 22:10

ich gebe dir recht @otbld - opachen (Kindchen wegeditiert?) : ). klare argumentation, so muss das sein.

bei ajax sieht das ganze natürlich anders aus.

19

17.09.2010, 00:45

War zuerst viel zu unfreundlich formuliert, sorry ;)

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

20

17.09.2010, 10:31

Entschuldigung ich nicht sprechen Schlipsisch!

Made my day :)

Werbeanzeige