Ik lees een website uit met file_get_contents, de gehele site wordt dus omgezet in een string. Nu wil ik graag 1 element uitlezen, met name wat erin zit (maar daarvoor zal ik eerst het element moeten kunnen uitlezen). Hoe doe ik dat?
<?PHP
$voorraad = file_get_contents("https://website.nl");
?>
Is simpelweg hoe ik de site uitlees.
<?PHP
En als voorbeeld wil ik dit: <p style="color:#1486c8;font-size:1.2em;">0 voorraad</p>
?>
Er staan meerdere p's op de site en zoals je ziet heeft hij geen class of id, dus op die manier kan ik er weinig mee. Hij zit wel binnenin een parentdiv, die een id heeft.
Allereerst is het inbreuk op auteurs- en of databankrechten.
Ten tweede heb je geen controle over de bron van de code. Als de eigenaar dit aanpast, dan scrapt jouw script geen of de onjuiste data, wat niet wenselijk is.
Allereerst is het inbreuk op auteurs- en of databankrechten.
Ten tweede heb je geen controle over de bron van de code. Als de eigenaar dit aanpast, dan scrapt jouw script geen of de onjuiste data, wat niet wenselijk is.
Natuurlijk is een waarschuwing op zijn plaats maar de grote vraag is of dat inderdaad zo is. Het lijkt mij dat gegevens die openbaar zijn in principe verder verspreid mogen worden tenzij er misschien een aantal voorwaarden gesteld worden aan het gebruik van de website/gegevens.
Infeite geldt er standaard auteursrecht. Als de eigenaar van de site aangeeft dat de informatie gebruikt mag worden (onder voorwaarden) door anderen, dan is het een ander verhaal en mag je gewoon scrapen. Maar een webservice/feed wat Thomas voorstelt is een beter initiatief.
Ariën, Weet jij waar we meer kunnen lezen over dat standaard auteursrecht? Lijkt me interessant zolang het enigszins te behappen is tenminste. Webservice, API of feed (or whatever) is technisch gezien natuurlijk beter.
Auteursrecht is automatisch, in elk geval in de (vele) landen die de Berner Conventie ondertekend hebben: zodra iemand een werk maakt, rust daar in die landen auteursrecht op.
Allereerst is het inbreuk op auteurs- en of databankrechten.
Hoe weet je dat? Ik vind het altijd jammer dat de 2e of 3e entry in zo'n topic steevast een politie-agent-entry is zonder enige kennis van het feit of er daadwerkelijk sprake is van inbreuk op auteurs- en of databankrechten. Wellicht de vraag voortaan wat sympathieker stellen: Heb je toestemming van de eigenaar of is het wellicht een van je eigen sites??
Ander gebruik kan ook, ik heb voor mezelf uitgebreide scrape scripting (linux commandline scripts in cron) om verspreide informatie op te halen bij vnf.fr die vervolgens netjes gesorteerd in mijn mailbox komt elke vrijdag. Ik zou dat ook in php kunnen doen en hier tips kunnen vragen maar dan volgt er meteen een waarschuwing: inbreuk op auteurs- en of databankrechten?? Kortom, zo'n vraag duidt niet altijd op her-publicatie. Misschien wil TS gewoon een prive overzichtje bouwen van enkele artikelen waarin hij geinteresseerd is en waarmee hij bestellingen doet. Workflow voor zichzelf bijvoorbeeld.
Los van het feit of scrapen van de website in kwestie mag... webscraper.io is wellicht een tool die van pas kan komen. Niet voor integratie in script, maar zeer geschikt voor verkenning van structuur, etc. Succes met vervolgstappen.
Edit: ik bedoel import.io ... daarmee heb ik zelf zitten experimenteren en imho (naar.mijn bescheiden mening) kan erg handig zijn om info van websites te scrapen.