| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Seite ( HTML/PHP ) auslesen und verwerten? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Ich hab vor kurzem ein "Programm" gesehn mit dem man bestimmte Daten einer Internetseite kommt. Die Seite wird komplett ...
![]() |
| | #1 (permalink) |
| Registriert seit: 24.07.05 ![]() Likes: 3 | Anzeige Ich hab vor kurzem ein "Programm" gesehn mit dem man bestimmte Daten einer Internetseite kommt. Die Seite wird komplett markiert und kopiert. Dann wird die kopie in dem besagten Programm in ein Eingabefeld hineinkopiert und nach Angabe des verwendeten Brosers ( Wahl zwischen IE und dem Rest =) ) wurde aus der Seite die nötigen Daten herausgelesen ( Für die dies interessiert, es war ein Kolotool für das Browsergame Inselkampf ). Meine Frage ist nun, wie geht das bzw.: - Wie kann man sowas in HTML / PHP ( zur not noch Java ) erstellen? - Gibt es hierfür Beispiele in anderen Progs bzw. entsprechende Code-Schnippsel :P? Vielen Dank für eure Hilfe!!! ;) |
| | |
| | #2 (permalink) |
| Registriert seit: 22.05.05 ![]() Likes: 0 | Das ganze geht mit PHP. Für ne etwas genauere Anleitung kannst du xblax eine PN schicken, der hat sowas gerade erst gemacht. Is aber grad im Urlaub und kommt net jeden Tag aufs Board. Ich hab soviel mitbekommen: Du kannst an die Page einen gefälschten POST-header schicken, so dass sie dir den Code schickt. Wenn du den Code einfach nur reinkopieren willst, kannst du das weglassen. Dann musst du nur wissen, WAS du wissen willst, den Code analysieren und dann Stück für Stück das drumrum löschen lassen (str-replace, preg-replace). |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| also n kumpel von mir hat was aehnliches gemacht, aber halt mit perl! das macht sich fuer solche sachen (rumspielen mit strings) besser! auch nich schlecht is ein kleines bash script | |
| | |
| | #4 (permalink) |
| was verstehst du denn unter "benötigte Daten"? Ich hatte mal ein script, was die news von MTV geklaut hat. evtl. hilft dir das weiter. Aber sag mir erstmal welche informationen du genau filtern willst. | |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 24.07.05 ![]() Likes: 3 | In einem Game gibts einen Ozean mit 100 Abschnitten. Jeder Abschnitt enthält max 25 Inseln. Da ein automatisches auslesen verboten ist ( naja, wenns einfacher wäre ) wollte ich es so machen, das ich irgendwie ( ? z.B.: indem ich die Teilkarte in ein Programm ? hineinkopiere und das Programm dann die Teilkarte ausliest und zusammen mit den anderen Teilkarten eine komplette Karte erstellt ) eine komplette Karte bekomme.@flame: benötigte Daten wären: - Name der Insel - Inselinhaber - Allianz - Inselpos - Punkte Quelltext einer Teilkarte: <html><head><link rel="stylesheet" type="text/css" href="36_dateien/style.css"><script type="text/javascript" src="36_dateien/lib.js"></script></head><body onload="start()"><h1>Karte</h1><hr align="left" width="420">28.08.2005 11:00:39 | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=settings">Einstellungen</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=mail&sub=invite">Einladu ng</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&a=logout">Abmelden</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=mail"><img src="36_dateien/m_off.gif" border="0"></a><br>Du <b>fallcon</b>, bist Herrscher über die Insel Isle of Storm (20:24:1)<table border="1" cellpadding="3" cellspacing="0" width="420"><tbody><tr><td width="33%"><img src="36_dateien/gold.gif"> 3117</td><td width="33%"><img src="36_dateien/stones.gif"> 1652</td><td><img src="36_dateien/wood.gif"> 4356</td></tr></tbody></table><br><table border="0" cellpadding="3" cellspacing="1" width="420"><form action="/s7.php?s=bkey0u&p=map" method="post"></form><tbody><tr><td bgcolor="#f0f0f0"><b>Ozean: </b><input name="pos1" value="20" size="3" type="text"><b> Inselgruppe: </b><input name="pos2" value="36" size="3" type="text"><b> Spieler: </b><input size="8" name="highlight" value="" type="text"> <input value="anzeigen" type="submit"></td></tr></tbody></table><br><img src="36_dateien/s7.png" usemap="#map" border="0"><map name="map"><area shape="rect" coords="0,9,9,411" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&pos1=20&pos2=35& amp;highlight=" title="Ozean: 20 Inselgruppe: 35"><area shape="rect" coords="411,9,420,411" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&pos1=20&pos2=37& amp;highlight=" title="Ozean: 20 Inselgruppe: 37"><area shape="rect" coords="9,0,411,9" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&pos1=20&pos2=26& amp;highlight=" title="Ozean: 20 Inselgruppe: 26"><area shape="rect" coords="9,411,411,420" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&pos1=20&pos2=46& amp;highlight=" title="Ozean: 20 Inselgruppe: 46"><area shape="rect" coords="338,174,409,245" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=15" title="Insel: 20:36:15 Koordinaten: 20:36:15 Herrscher: Odin Allianz: [oC.08] Punkte: 303"><area shape="rect" coords="338,256,409,327" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=20" title="Insel: Iluminata Koordinaten: 20:36:20 Herrscher: warbird17 Allianz: [Mars] Punkte: 327"><area shape="rect" coords="10,338,81,409" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=21" title="Insel: 20:36:21 Koordinaten: 20:36:21 Herrscher: Odin Allianz: [oC.08] Punkte: 166"><area shape="rect" coords="256,10,327,81" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=4" title="Insel: unbenannt Koordinaten: 20:36:4 Herrscher: Achillis81 Punkte: 1"><area shape="rect" coords="174,92,245,163" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=8" title="Insel: unbenannt Koordinaten: 20:36:8 Punkte: 1"><area shape="rect" coords="92,338,163,409" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=22" title="Insel: unbenannt Koordinaten: 20:36:22 Punkte: 1"><area shape="rect" coords="92,256,163,327" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=17" title="Insel: Azzurrino Koordinaten: 20:36:17 Herrscher: 0815Luca Allianz: [o8i5] Punkte: 23"><area shape="rect" coords="256,174,327,245" href="http://213.203.201.100/s7.php?s=bkey0u&p=map&sub=isle&pos1=20 &pos2=36&pos3=14" title="Insel: Schutz von Denkmal Koordinaten: 20:36:14 Herrscher: violett Punkte: 2"></map><hr align="left" width="420"><a href="http://213.203.201.100/s7.php?s=bkey0u&p=main">Übersicht</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=alliance">Allianz</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=map">Karte</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=isles">Inseln</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=market">Markt</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=ranking">Rangliste</a> | <a href="http://213.203.201.100/s7.php?s=bkey0u&p=calc">Rechner</a><br><br>0.02</body></html> |
| | |
| | #6 (permalink) |
| Naja, das sollte nicht all zu schwer sein.. Zuerst musst du das ganze halt mit nem formular übergeben, wenn du es so nicht auslesen darfst/kannst. Und danach musst du nur mit ereg() [siehe http://manuals.phpforum.de/php/function.ereg.php] den string durchsuchen. den genauen syntax für den regulären ausdruck kann ich dir jetzt auch net sagen, aber du hast ja feste anhaltspunkte wie: Alianz: (1), Punkte: (2). Und so lässt sich doch gasnz leicht n array generieren. Das skript was ich bei MTV benutzt hab kannste da nicht anwenden, weil ich da immer zwischen zwei <Tags> ausgelesen hab. Aber wenn du dir das mit ereg() und den regulären ausdrücken [http://www.php-resource.de/tutorials/read/10/1/] durchschaust, müsste dir schon geholfen sein. | |
| | |
| | #7 (permalink) |
| Registriert seit: 22.05.05 ![]() Likes: 0 | Genau sowas hat mein Kumpel (xblax) für ein anderes Game gemacht. Sehr praktisch ist dabei die funktion explode() Damit kannst du Teile eines Textes zw. 2 bestimten Strings herausschneiden. PHP-Code: |
| | |
| | #8 (permalink) |
| Jo.. so sah meine hauptfunktion im MTV-script auch aus. ABER diese möglickeit hat den nachteil, das immer nur das erste vorkommen einer zeichenkette aufgelöst wird. Aber das kan er hier nicht gebrauchen. da eine unbestimmte zahl aufgelistet wird, die den gleichen basisaufbau hat. Hier muss man eher Immer nach dem ausdruck Alianz suchen, und die drauffolgende zeichenkette zwischen [ und ] zurückgeben. Das ganze wird dann im Alianzarray gespeichert, und so verfährt man auch mit den anderen. Und dann hast du deine arrays Alianz[] inselpos[] Herrscher[] usw. und kanst die informationen dann zusammenfügen. | |
| | |
| | #9 (permalink) |
| Registriert seit: 23.03.05 ![]() Likes: 22 | Zunächsteinmal kannst du diese Funktion benutzen, um Post oder Get-Anfragen an den Webserver zu senden: Code: $referer = "http://www.was-du-willst.de/";
function PostToHost($host, $path, $method='get', $data_to_send=0) {
global $referer;
$fp = fsockopen($host, 80);
if($method == 'post')
fputs($fp, "POST $path HTTP/1.1\r\n");
else
fputs($fp, "GET $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n");
fputs($fp, "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
fputs($fp, "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
fputs($fp, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.8) Gecko/20050511 Firefox/1.0.4\r\n");
fputs($fp, "Referer: $referer\r\n");
if($method == 'post'){
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
}
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
fclose($fp);
$referer = 'http://'.$host.$path;
return $res;
} Wenn der Quelltext in deinem Programm ist, würde ich folgendermaßen vorgehen: 1. Alles um die benötigten Informationen entfernen bis du in jeder Zeile nur noch eine Information hast. Also immer: Code: Name Herrscher Allianz Punkte Kooridnaten Name Herrscher ... 3. Mit array_chunk($daten, 5); das ganze in gleich große Teilarrays verwandeln. 4. Was du mit den Daten dann machst bleibt dir überlassen. Du musst halt ne Menge experimentieren, bis es fehlerfrei funktioniert. |
| | |
| | #10 (permalink) |
| Themenstarter Registriert seit: 24.07.05 ![]() Likes: 3 | Thx für eure Hilfe!!! Dann werd ich mich mal ransetzten unds "probieren" anfangen... |
| | |
| | #11 (permalink) |
| Das problem dabei ist, dass die zu entfernenden zeichenketten imemr exakt gleich bleiben müssen. mit der ereg() funktion, hat man da mehr spielraum, und ein geringeres datenaufkommen. das problem dabei ist ledigtlich den regulären ausdruck richtig hunzubrinegn, aber da mus man haltz mal ne stunde oder so recharchieren, | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Seite Auslesen (+cookie) | -Tux- | (Web-) Design und webbasierte Sprachen | 5 | 16.11.08 16:14 |
| Auslesen von html/php | Paulaner-sls | Code Kitchen | 9 | 07.10.06 16:27 |
| PHP in html seite einbinden | BloodEye | (Web-) Design und webbasierte Sprachen | 10 | 15.12.05 22:59 |
| html tags auslesen | Iker C. | (Web-) Design und webbasierte Sprachen | 2 | 24.06.05 08:40 |
| etwas mit html an eine seite übermitteln | pacman | (Web-) Design und webbasierte Sprachen | 4 | 15.06.04 15:46 |