ďťż

[php] pobieranie danych z zewnetrznej strony

       

Podstrony


telcocafe

witam
jak mozna pobrać informacje z innej strony?
(konkkretnie chodzi mi o informacje o postaci z gry tibia)



w PHP ?

cURL

nie da sie ! :)
//edit
oo dzis wlaczyli spowrotem dane o postaciach na tibia.com - wiedz odp - da sie

info jak to zrobic :s

pobierasz strone http://www.tibia.com...=c...me={$nick}
a potem preg_match wyciagasz z niej wszystkie dane do tablicy.
do projektu na tibia.org.pl sygnaturek uzylem poprostu do pobrania strony file_get_contents
Użytkownik bikstopa edytował ten post 16 luty 2007, 20:15


możesz mi jakoś podpowiedzieć jak wyciągnąc te informacje funkcją preg_match? bo ja zawsze mam duze problemy z tą funkcją x)

$zrodlo = file_get_contents($adres); $tt_start = (strpos($zrodlo, '[start]')+7); $tt_end = ((strpos($zrodlo, '[koniec]'))-$img_start); $ten_tekst = substr($zrodlo, $img_start, $img_end);

start i koniec mają być unikalnymi elementami w źródle strony, które określają początek i koniec tekstu :) Liczba 5 to długość tekstu początkowego.

Jeżeli strona $adres ma w zawartości coś takiego

<body>[start]tekst do wyciągnięcia[/koniec] to w zmiennej $ten_tekst znajdzie się tekst: 'tekst do wyciągnięcia'
Użytkownik pawkow edytował ten post 17 luty 2007, 12:23
a to $img_start to czym jest? :)


... IMO powinno być zamiast $img_ to $tt_ :P
Tak na logikę ;)


$zrodlo = file_get_contents($adres); $tt_start = (strpos($zrodlo, '[start]')+7); $tt_end = ((strpos($zrodlo, '[koniec]'))-$img_start); $ten_tekst = substr($zrodlo, $img_start, $img_end);
twoja metoda nie jest optymalna ;ddd

http://www.tibia.com...amp;name=Nemtor
tak wyglada ta stronka z ktorej gostek chce wyciagac dane

co najmniej 8 elementow jest tutaj do wyciagniecia max 10 (zalezy od postaci)


twoja metoda nie jest optymalna ;ddd

http://www.tibia.com...amp;name=Nemtor
tak wyglada ta stronka z ktorej gostek chce wyciagac dane

co najmniej 8 elementow jest tutaj do wyciagniecia max 10 (zalezy od postaci)


więc co mi polecasz? :+)

<? $nick = str_replace(" ", "%20", $nick); //zmiana [spacji] na "%20" dla pewnosci $tibia_com = file_get_contents("http://www.tibia.com/community/?subtopic=character&name=".$nick); //przechowywuje strone ze statystykami ereg('<TD>Level:</TD><TD>([0-9]{1,})</TD></TR>' ,$tibia_com , $level); //przypisuje level do zmiennej $level ereg('<TD WIDTH=20%>Name:</TD><TD>(.{1,29})</TD></TR>' ,$tibia_com , $name); //przypisuje imie do zmiennej $name ereg('<TR BGCOLOR=#F1E0C6><TD>World:</TD><TD>(.{1,10})</TD></TR>' ,$tibia_com , $world); //przypisuje serwer do zmiennej $world ereg('<TR BGCOLOR=#D4C0A1><TD>Residence:</TD><TD>(.{1,15})</TD></TR>' ,$tibia_com , $city); //przypisuje miasto do zmiennej $city ereg('<TR BGCOLOR=#F1E0C6><TD>Profession:</TD><TD>(.{1,15})</TD></TR>' ,$tibia_com , $profession); //przypisuje profesje do zmiennej $profession echo 'Nick: '.$name[1]."\n"; echo 'Level: '.$level[1]."\n"; echo 'Server: '.$world[1]."\n"; echo 'Miasto: '.$city[1]."\n"; echo 'Profesja: '.$profession[1]."\n"; ?>

Może się zdarzyć, że nazwa servera, albo miasta nie pasuje do wzoru (skrypt pisałem przed updatem) więc musisz zmienić odpowiednio długość tak, aby pasowała do najdłuższego servera oraz do najdłuższej nazwy miasta...
Użytkownik hxv edytował ten post 17 luty 2007, 20:35
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.