Archief - Wanted: php content retrieval

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

SyRuS.be

Legacy Member
Kent iemand een goed niet te moeilijk script om data van een andere pagina (die vrij random is) weer te geven door vb de line ervan te geven (op je eigen pagina). Wordt vaak gebruikt om het weer, nieuwsberichten enzo van andere sites weer te geven.

Dus ik wil op mijn pagina hebben staan wat op (vb) de telenet site staat op lijn 23 van de index (of een deel van die lijn?). Vb een afbeelding die ze vaak veranderen ofzo? Ander voorbeeld: het logo van google dat veranderd met speciale dagen... Naam is dan random (christmas_logo ipg logo) dus ik wil de img string op die plaats ofzo telkens weergeven op mijn site.

In php dus. Moet te doen zijn maar heb maar vage dingen gevonden op google :oink: . Content retrieval voor beursresultaten waar je de beurs moest ingeven ofzo lol :scream: .

Als er vragen zijn, of iemand het niet snapt post it :p

Thanks

Yoni

|M°B|Morbuus

Legacy Member
harvest data :)

Moete ni doen door de lijn, gewoon kijken welke tabel enal :)

kweet er ni alles van ma heb al is gedaan. Kwil wel is opzoeken sebiet ;)

SyRuS.be

Legacy Member
ja zou nog beter zijn, een bepaalde tabel! Harvest data... Kan ik zelf ook al eens op zoeken. Tja, da staat allemaal wel ergens maar de naam er soms van.

Maar posts zijn nog altijd welkom en handig!

dJeez

Legacy Member
Je kan die openen via curl of fopen en dan de data inlezen. Het zoeken naar de relevante info kan je makkelijk doen via regular expressions. Let wel op : niet elke site laat toe van zomaar data uit hun site te plukken, best eerst nagaan of je dat mag (of gewoon toestemming vragen).

SyRuS.be

Legacy Member
toestemming heb ik... Lol die curl pf fopen ben ik dus écht geen enkele keer tegengekomen na 100'en keren zoeken op allerij dingen. Eens proberen

SyRuS.be

Legacy Member
ik heb al succes gehad (beetje) met de fopen... Namelijk ik laad de pagina in met fopen. Dan wil ik mn regel weergeven met een fgets maar die geeft telkens de volledige pagina weer (waar ik een regel wil oproepen) maar dat is omdat het script dat ik gevonden heb alle regels leest :s

<?php
$handle = fopen ("http://www.voorbeeldsite.com/index.html", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose ($handle);
?>

help? Die regular expressions is dat niet iets anders? Ik vind allemaal gedoe over in forms e-mails e valideren :p

swiFFer

Legacy Member
zoek gewoon naar het begin en eind van wat je wil en neem dat ertussen eh ... code => zie php.net

SyRuS.be

Legacy Member
wow daar weet ik veel mee :|

Dat is idd wat ik nodig heb. Maar de code vind ik niet hoor.
function neemwatertussenzit :p

swiFFer

Legacy Member
mijn excuses :) ik heb het gisteren nog tegengekomen .. ma vind het nu efjes zelf niet meer trug

SyRuS.be

Legacy Member
geeft helemaal niet. Voor iemand dat er veel van weet is dat mischien klare taal, maar ik heb me echt al te pletter gezocht en zitten proberen en kom het hier vragen als laatste "resort". Maar met neem wat er tussen zit weet ik evenveel als dat ik al dagen zoek :(

Als je het tegen zou komen post het plssss :)

SyRuS.be

Legacy Member
betwijfel dat ik het zal vinden. Tegenover dat er mischien mensen zijn die me makkelijk verder kunnen helpen. Dunno over dat Duits script, ik ben er mee aant proberen maar :s :s

killgore

Legacy Member
ter info: vaak wordt nieuws en andere info van sites ingelezen door xml-forms (bv. rss feeds).

gaat heel wat simpeler als uit gewone html je rommel halen, en voor xml heb je een std klasse in php ;).

Jouw probleem is nogal "moeilijk".

Moest fopen niet werken: http://be.php.net/fsockopen, sockets zullen soms beter kunnen helpen ;). tis wel wa meer geadvanceerd code :).

edit: ik weet dat geen direct antwoord is, meer algemene info, zal strx is naar jouw probleem exact kijke ;).

SyRuS.be

Legacy Member
de fopen werkt. Maar dan de info er uit halen lukt minder. Ik weet dat nieuws enzo vaak met feeds wordt gedaan. En mijn probleem is moeilijker.

Dus liefst een script dat volgt op mn fopen...

killgore

Legacy Member
wel, ik zou gans die file in 1string lezen en dan met string functies werken

jouw taak is vooral om te proberen zoeken naar een vast patroon rond dat bepaald stuk dat jij wilt hebben (bv. bep. img-tags, bepaalde teksten, ...) en daar dan een reguliere expressie voor schrijven.

ik zou eerder aan die mensen vragen of zij voor jou geen feed willen schrijven, kost jou minder moeite en hun ook minder bandwith ;). (feed zal kleiner zijn als hele pagina die wordt opgevraagd normaal gezien ;))

Cyberkef

Legacy Member
killgore zei:
Moest fopen niet werken: http://be.php.net/fsockopen, sockets zullen soms beter kunnen helpen ;). tis wel wa meer geadvanceerd code :).
Boh ge zegt dat zenne :)

Ik heb ooit dat voorbeeld gebruikt voor een IMDB page in te lezen, maar in plaats van gans die site in één string, deed ik dat in een array (minieme aanpassing)

PHP:
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp)
{
   echo "$errstr ($errno)<br />\n";
}
else
{
   $out = "GET / HTTP/1.1\r\n";
   $out .= "Host: www.example.com\r\n";
   $out .= "Connection: Close\r\n\r\n";

   fwrite($fp, $out);

   $x = 0;
   while (!feof($fp)) 
   {
       $data[$x] = fgets($fp);
       $x++;
   }
   fclose($fp);
}
?>

Zozie, nu steekt gans je pagina in een array $data, dan kun je lijntje 28 bvb uitlezen met "echo $data[28-1]" :)

Of als je op zoek bent naar bepaalde stukjes tekst: foreach($data AS $line) en preg_match() op die $line gebruiken :crazy:

(edit: ik gebruikte fgets($fp) ipv fgets($fp, 128), anders gaan je lijnen korter dan 128 tekens opgesplitst worden :oink: )

killgore

Legacy Member
eh, met een fopen zou je dat dus compleet gelijkaardig doen :), ma dit zijn zowat simpelste socks die er bestaan

en ik vraag me af wrom jij niet $data[$x+1] doet, is toch vele simpeler :s

SyRuS.be

Legacy Member
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known

edit: op een phtml pagina heeft dat er iets mee te maken? Waarom kan ik niet gewoon foken gebruiken ipv fso? foken kan je niet in een arrai steken ofzo?

edit fout verholpen! Iets meer info over die lijnen zoeken?

Cyberkef

Legacy Member
killgore zei:
eh, met een fopen zou je dat dus compleet gelijkaardig doen :), ma dit zijn zowat simpelste socks die er bestaan

en ik vraag me af wrom jij niet $data[$x+1] doet, is toch vele simpeler :s
mja, dunno why :p nog pure gewoonte van vroeger zeker :)

Kdenk dat $data[$x++] ook wel perfect zou gaan eigenlijk ^^

killgore

Legacy Member
Cyberkef zei:
mja, dunno why :p nog pure gewoonte van vroeger zeker :)

Kdenk dat $data[$x++] ook wel perfect zou gaan eigenlijk ^^
$data[++$x] is eigenlijk perfect wat jij nodig hebt!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan