Informatie van website

Status
Niet open voor verdere reacties.

Kligham

Gebruiker
Lid geworden
7 jan 2009
Berichten
389
Hallo,

Ik weet niet of het hier juist staat.

Ik vroeg me af of het mogelijk is om geautomatiseerd informatie van een website te halen? Het gaat om het volgende: Zoals in het voorbeeld staan er verschillende NBA wedstrijden aangeduid. Ik ben enkel geinteresseerd in die van Boston.

Ik wil weten of er in de rij van boston een win or loss is & wat het totaal is van de partij.

Bijvoorbeeld voor deze pagina:

http://contests.covers.com/sportsco.../2007&ur=265839&contestID=15253&sportID=9&t=0

Zou het zijn:

Loss & -1100

Is dit mogelijk? Hij zou dus automatisch zulke linken moeten afschuimen om enkel informatie over de wedstrijden van Boston af te zoeken. Alle pagina's hebben dezelfde layout, de plaats waar het voorkomt in de rij van wedstrijden is verschillend.

mvg,

Peter
 

Bijlagen

  • Nba.jpg
    Nba.jpg
    64,5 KB · Weergaven: 27
Ik heb al wat verder zitten denken en heb een mogelijke oplossing gevonden.

1) De volledige broncode laten invoeren in een array.
2) Dan moet hij zoeken naar NBA ploeg
3) Dit is het cruciale punt: wanneer hij NBA ploeg gevonden heeft in de array, moet hij de eerstvolgende 500 dat hij tegen komt, array[nummer] geven. Want wanneer ik dat heb kan ik gewoon het nummer + 2 doen en heb ik het nodig getal.
4) Als dit lukt, moet hij zoeken naar de eerstvolgende 500 en array[nummer] geven en kan ik opnieuw hetzelfde doen.

5) Al deze info steek ik dan gewoon in mijn database om later er terug uit te halen.

Ofwel op deze manier als hij niet kan zoeken van NBA ploeg naar 500:

1) De volledige broncode laten invoeren in een array.
2) Dan moet hij zoeken naar NBA ploeg
3) Alles voor NBA ploeg weggooien
4) Zoeken naar eerstvolgende 500 en array nummer geven
5) Zoeken naar de tweede 500 en array nummer geven.

Weet er iemand of dit mogelijk is en hoe (tips, hints)?

Groetjes
 
Laatst bewerkt:
Op dit moment even geen tijd zin om een volledige code uit te gaan zitten werken, maar werk gewoon stap voor stap.

Zorg eerst eens dat de broncode ingeladen wordt in een variabele. Zoek dan eens uit hoe je op zoek kunt naar 500, etc, etc.

Overigens, denk erom dat dit misschien niet gewenst is door de makers van de bronsite.
 
Op dit moment even geen tijd zin om een volledige code uit te gaan zitten werken, maar werk gewoon stap voor stap.

Zorg eerst eens dat de broncode ingeladen wordt in een variabele. Zoek dan eens uit hoe je op zoek kunt naar 500, etc, etc.

Overigens, denk erom dat dit misschien niet gewenst is door de makers van de bronsite.

Hoi,

Ik heb het volgende al bedacht:

PHP:
$url = 'http://contests.covers.com/sportscontests/picksByDate.aspx?date=11/2/2007&ur=265839&contestID=15253&sportID=9&t=0';

$array = file($url);

Dan wil ik nu een search doen in die array, en hij moet me de index nummer geven zodat ik het getal kan optellen om zo de gewenste variabele uit mijn array te krijgen. Dit kan aangezien de benodige getallen telkens op zoveel array[getal] van elkaar staan. Alleen ik weet niet welke functie ik moet gebruiken?

Ik heb dit geprobeerd, maar dat lukte niet:

$key = array_search('<td><a href="http://www.covers.com/pageLoader/pageLoader.aspx?page=/data/nba/teams/team664421.html">Charlotte</a></td>
', $array);

Dit is trouwens zoeken op de gehele link, maar zou het dan ook mogelijk zijn om enkel op Charlotte zoeken, en zou hij dan ook de juiste array index/nummer geven?

PS: het is enkel wat informatie die ik moet verzamelen voor iemand, ik gebruik deze informatie niet om ergens op een site te zetten ofzo.

Groetjes
 
Laatst bewerkt:
Ook het verzamelen is waarschijnlijk niet toegestaan zonder toestemming.

Voor het zoeken kun je loopen door de array en indexof gebruiken.
 
Ook het verzamelen is waarschijnlijk niet toegestaan zonder toestemming.

Voor het zoeken kun je loopen door de array en indexof gebruiken.

Ik doe nu het volgende en dit werkt:
PHP:
<?php
$url = 'http://contests.covers.com/sportscontests/picksByDate.aspx?date=11/2/2007&ur=265839&contestID=15253&sportID=9&t=0';

$array = file($url);

$key = array_search('<table cellspacing="0" class="thepicks">
', $array);

$flop = $key + 12;

$result = $array[$flop];

print($result);
?>

En hij geeft het juiste resultaat weer.

WANNEER ik echter hetvolgende doe (hetgeen ik nodig heb):

PHP:
<?php
$url = 'http://contests.covers.com/sportscontests/picksByDate.aspx?date=11/2/2007&ur=265839&contestID=15253&sportID=9&t=0';

$array = file($url);

$key = array_search('<td><a href="http://www.covers.com/pageLoader/pageLoader.aspx?page=/data/nba/teams/team404117.html">New Jersey</a></td>
', $array);

$flop = $key + 15;

$result = $array[$flop];

print($result);
?>

Nu krijg ik ook iets, maar dit is gewoon array[0] + 15 .

Waneer ik de eerste uitvoer, krijg ik de zoekterm waarop ik zoek in de 2de code. De zoekterm zit dus wel degelijk in mijn array afzonderlijk. Maar waarom lukt zoeken op die zoekterm(link) niet? Weet je toevallig hoe dit komt? en hoe het verholpen kan worden.
 
Ik heb een script die nu eindelijk werkt:

PHP:
<?php

$url = 'http://contests.covers.com/sportscontests/picksByDate.aspx?date=11/2/2007&ur=265839&contestID=15253&sportID=9&t=0';

$array = file($url);

$key = array_search('		<td><a href="http://www.covers.com/pageLoader/pageLoader.aspx?page=/data/nba/teams/team404169.html">Boston</a></td>
',$array);

$arraynba = $key - 1;

$arraytest = $array[$arraynba];

if($arraytest == "		<td>NBA</td>
"){
	$sidepick = $key + 4;
	$totalpick2 = $key + 13;

	$result1 = $array[$sidepick];
	$result2 = $array[$totalpick2];


} else {
    $sidepick = $key + 4;
    $totalpick2 = $key - 5;

    $result1 = $array[$sidepick];
    $result2 = $array[$totalpick2];
}

if ($result1 == "		<td>WON</td>
") {
	print(win);
} elseif ($result1 == "		<td>LOSS</td>
") {
	print(loss);
} else {
	print(tie);
}
if ($result2 == "		<td>WON</td>
") {
	print(win);
} elseif ($result2 == "		<td>LOSS</td>
") {
	print(loss);
} else {
	print(tie);
}
?>

Maar je raadt het al, er is nog een probleem. Als ik het nu in een for loop steekt, krijg ik enkel output van mijn datum maar niet van LOSS of WIN. Zien jullie het probleem. In mijn ogen zit de for lus er goed uit, en denk ik dat hij spaak loopt bij het vinden van de $key:

PHP:
<?php


$maand = array("11","11","11");
$dag = array("2","4","7");
$jaar = array("2007","2007","2007");

$expert = 265839;

for ($a=0;$a<=2;$a++){
	
}

for ($i = 0; $i <= 2; $i++){

	$url = 'http://contests.covers.com/sportscontests/picksByDate.aspx?date=' . $maand[$i] .'/' . $dag[$i] . '/' . $jaar[$i] .'&ur=' . $expert . '&contestID=15253&sportID=9&t=0';
	
	$array = file($url);
	
	$key = array_search('		<td><a href="http://www.covers.com/pageLoader/pageLoader.aspx?page=/data/nba/teams/team404169.html">Boston</a></td>
	',$array);
	
	$arraynba = $key - 1;
	
	$arraytest = $array[$arraynba];
	
	if($arraytest == "		<td>NBA</td>
	"){
		$sidepick = $key + 4;
		$totalpick2 = $key + 13;
	
		$result1 = $array[$sidepick];
		$result2 = $array[$totalpick2];
	
	
	} else {
		$sidepick = $key + 4;
		$totalpick2 = $key - 5;
	
		$result1 = $array[$sidepick];
		$result2 = $array[$totalpick2];
	}
	
	$datum = $maand[$i] . '/' . $dag[$i] . '/' .$jaar[$i];
	
	//De gegevens wegschrijven in de database
	print($result1);
	print($result2);
	print($datum);
	
}

Groetjes
 
Laatst bewerkt:
Dit heet content ripping en dat is verboden. Als de maker van de site de informatie beschikbaar wilt stellen, is er wel ergens een RSS-feed.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan