Weblap benzin+horoszkóp
Pirity Tamás Gábor
ptg at apaczai.elte.hu
2009. Sze. 14., H, 12:45:27 CEST
Ha jól hiszem, Zsolt Nagy írta az alábbiakat:
> Egy rövid példát mutassatok lécci! Elég ha egy szót kiírat a másik lapról!
>
> Köszi!
Pl. a
http://petiba.apaczai.elte.hu/geo.php
mutatja, hogy az apáczais geoládások hány kincset találtak meg.
Természetesen az adatokat minden betöltéskor a www.geocachhing.hu
oldalról szedi le; lekér egy oldalt az illető ládászról, regexek
segítségével kikeresi, hogy hol vannak a megtalálások, és
a többi ,,feleslegben jövő választ'' eldobja, és utána a
kapott eredményt úgy formázom, ahogy akarom. Részlet a
scriptből:
$format="<tr>\n<td align=left><a href=\"http://www.geocaching.hu/users.geo?id=%s\">%s</a></td>\n<td align=right>%s</td>\n</tr>\n";
...
$kod=1234;
$num="";
$url=sprintf("http://www.geocaching.hu/users.geo?id=%s", $kod);
$fp=@fopen($url, "r");
if ($fp!==FALSE)
{
while (!feof($fp))
{
$currline=fgets($fp, 4096);
if
(preg_match("/^.*Megtalálás.*$/", $currline, $line)
&&
preg_match("/>[0-9][0-9]*</", $line[0], $szam))
{
$num .= substr($szam[0], 1, count($szam[0])-2);
}
}
printf ($format, $kod, $nev, $num);
...
A fopen($url), fgets($fp) a kulcs, ezzel töltjük le az oldalt
a php programba, a preg_match segítségével keressük ki azt a
sort, ami érdekel minket, ebben van a felhasználóhoz tartozó
szám, és a substr-vel kivágjuk a számot, és az elmentett
számot printf-fel kiküldjük a böngészőbe.
(Nemigen van hibakezelés, ha gyökeresen megváltozik a
www.geocaching.hu oldal userinfo lapjainak szerkezete, akkor
a mi oldalunk is jelentős átdolgozásra fog szorulni.
De mondjuk legalább egy éve nem nyúltam hozzá és megy. :))
--
PTG
What's done to children, they will do to society.
Debian 4.0 -- Linux 2.6.22.6
További információk a(z) Techinfo levelezőlistáról