Gå til innhold

Hvordan henter man oppdatert tekst fra andre websider? evt rettigheter.


Anbefalte innlegg

Videoannonse
Annonse

Litt psedukode:

 

variabel = file_get_contents(url_til_bensinprisside);

xml = new SimpleXMLElement(variabel);

 

Da har du tilgang til simplexml-funksjonene rett på $xml-objektet :)

 

Litt info i tilfelle bensinprissidene du skal hente data fra ikke er XML/XHTML:

http://drewish.com/content/2007/08/using_simplexml_with_html

<?php
$variabel = file_get_contents('http://www.statoil.no/FrontServlet?s=sdh&state=sdh_dynamic&viewid=2168419');
$xml = new SimpleXMLElement($variabel);

echo "$xml";
?>

Blir det mye koding hvis jeg skal hente inn prisen på blyfri 95 Feks. her fra? http://www.statoil.no/FrontServlet?s=sdh&state=sdh_dynamic&viewid=2168419

 

I kildekoden vises prisen slik: <font size="3">13,18</font>

Endret av peace2
Lenke til kommentar

<?php 
# for å vise feilmeldinger 
ini_set('display_errors',1);  
error_reporting(E_ALL); 

# for å hente data 
$html = file_get_contents('http://www.statoil.no/FrontServlet?s=sdh&state=sdh_dynamic&viewid=2168419'); 

# for å få "ukorrekt" html-data inn som xml 
$doc = new DOMDocument(); 
$doc->strictErrorChecking = FALSE; 
@$doc->loadHTML($html); # denne har en del "warnings" om man ikke bruke @-tegnet. Litt skittent, men det er mildt sagt koden til statoil og.. 
$xml = simplexml_import_dom($doc); 

# xpath. Statoil burde få premie for tre tabeller som absolutt ikke skulle vært der. 
$result = $xml->xpath('/html/body/div/table/tr/td/table/tr/td/table/tr/td/div/div/table/tr/td/div/table/tbody/tr/td/p/font'); 

$array_med_bensintyper = array( 
'Blyfri 95', 
'Blyfri 98', 
'Bioetanol', 
'Diesel', 
'Anleggsdiesel', 
'LPG drivstoff', 
'Parafin avg.fri (farget)' 
); 

$counter = 0;
$array_pris = array(); 
foreach($result as $item){ 
	if($item != 'Kr.'){
		$array_pris[$array_med_bensintyper[$counter]] = (string) $item;
		$counter++; 
	} 
}

var_dump($array_pris); 
?>

 

Hahaha, ble sittende å gjøre hele greia for deg, jeg. Første gang jeg har vært borti xpath, så var litt interessant for min del og. Mulig det finnes en penere måte å gjøre det på. Husk, om de endrer koden på statoil så slutter denne å virke. Her er det heller ingen feilhåndtering.

Endret av cvłñ
  • Liker 1
Lenke til kommentar
  • 3 uker senere...

Jeg får bare opp:

array(7) { ["Blyfri 95"]=> string(5) "13,38" ["Blyfri 98"]=> string(5) "13,69" ["Bioetanol"]=> string(4) "8,29" ["Diesel"]=> string(5) "12,73" ["Anleggsdiesel"]=> string(4) "9,08" ["LPG drivstoff"]=> string(4) "6,59" ["Parafin avg.fri (farget)"]=> string(4) "9,62" }

 

Er det noe feil der, eller er det slik det skal se ut?

Lenke til kommentar

Jeg får bare opp:

array(7) { ["Blyfri 95"]=> string(5) "13,38" ["Blyfri 98"]=> string(5) "13,69" ["Bioetanol"]=> string(4) "8,29" ["Diesel"]=> string(5) "12,73" ["Anleggsdiesel"]=> string(4) "9,08" ["LPG drivstoff"]=> string(4) "6,59" ["Parafin avg.fri (farget)"]=> string(4) "9,62" }

 

Er det noe feil der, eller er det slik det skal se ut?

Nei , du må bygge litt på scriptet i mitt tilfelde ville jeg at variablene skulle være en del av form... , evt konvertere array til variabler... er ikke proff med det selv så det tok sin tid før jeg fikk det til.

Endret av peace2
Lenke til kommentar

TheClown: Uhm, åndsverkloven er ALLTID relevant og viktig når man er en webutvikler.

Om du driter i det så har jeg ingen problemer at du får en faktura i posten på linjebruk, samt en stevning.

 

Og grunnen til at jeg ikke poster noe kode er fordi scriptet som allerede har blitt gitt tydeligvis funker, og jeg har ingen bedre metode her.

 

Skal være enig i at posten min hadde vært litt tullete hvis det var første svar, men det er det ikke.

 

 

EDIT:

Heter selvfølgelig åndsverkloven, ikke copyright

Endret av AlecTBM
Lenke til kommentar

En liten ting dere, vi har ikke «copyright» i Norge. Derimot har vi åndsverk, og det er ikke det samme som «copyright». Åndsverk og rettighetene rundt dette er ikke noe man må eksplisitt kreve at man har, men en automatisk rettighet man bare kan aktivt fraskrive seg. Det samme vil ikke nødvendigvis gjelde for «copyright», men alt materiale beskyttet under «copyright»-lovgivning i utlandet beskyttes i Norge bare av åndsverksloven.

 

Uansett, som AlecTBM helt korrekt påpeker snakker vi her om et offentlig verk, og innholdet man henter inn må dermed avklares med opphavet (Statoil i dette tilfellet) pga. åndsverksloven. Dette er helt relevant, og noe man er pent nødt til å forholde seg til. Har ikke trådstarter avklart dette med Statoil, eller Statoil skriver på sine sider at innholdet fritt kan benyttes andre steder, kan man strengt tatt kalle alle andre innlegg i tråden her for medvirkning til lovbrudd. Slik sett bryter denne tråden i bunn og grunn med retningslinjene for forumet. Er det relevant nok for deg TheClown?

  • Liker 1
Lenke til kommentar
  • 2 uker senere...

Feks dette er offentlig bruk, og må som oftest klargjøres med Statoil

http://afromoo.com/calc/

 

Ville det bryte åndsverksloven hvis websiden henter inn info som er ment å være for alle? bensinpriser altså? er det ikke lov å notere ned bensinpriser evt. spre det via internett til alle? scriptet gjør jo noe av det samma, bare det at den henter inn prisene så man slipper å gå ut hver morgen for å oppdatere det manuelt... jeg ser ikke konflikten med lover her... noen som kan rette meg om jeg tar feil her?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...