Hoe kan ik een compleet html element uitlezen vanuit een string
Is simpelweg hoe ik de site uitlees.
Code (php)
1
2
3
2
3
<?PHP
En als voorbeeld wil ik dit: <p style="color:#1486c8;font-size:1.2em;">0 voorraad</p>
?>
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.
Dat ziet er zo uit dan (de bovenkant):
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?PHP
<div id="buy" style="z-index:999;">
<h1>Product kopen</h1>
<p style="color:#1486c8;font-size:1.2em;">0 voorraad</p>
?>
<div id="buy" style="z-index:999;">
<h1>Product kopen</h1>
<p style="color:#1486c8;font-size:1.2em;">0 voorraad</p>
?>
Is er een mogelijkheid om die eerste paragraaf uit de string te halen?
Code (php)
1
2
2
preg_match('/<p.*?'.'>(\d+) voorraad</',$voorraad,$match); //'.' ivm PHPhulp code editor ...
//als er een $match is zit het aantal nu in $match[1]
//als er een $match is zit het aantal nu in $match[1]
Gewijzigd op 23/12/2017 19:48:26 door Rob Doemaarwat
Al gekeken of de betreffende site een feed of webservice heeft? Scrapen zou eigenlijk een van je laatste opties moeten zijn.
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.
- Ariën - op 23/12/2017 21:49:48:
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.
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.
https://nl.wikipedia.org/wiki/Auteursrecht
Quote:
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.
Wikipedia is verder Creative Commons Naamsvermelding/Gelijk delen. Verder heb je ook nog Citaatrecht die het mogelijk maakt dat je een deel van een tekst mag gebruiken onder bepaalde voorwaarden.
Gewijzigd op 23/12/2017 22:44:16 door - Ariën -
- Ariën - op 23/12/2017 21:49:48:
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??Allereerst is het inbreuk op auteurs- en of databankrechten.
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.
Gewijzigd op 24/12/2017 16:26:57 door Aad B
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.
Gewijzigd op 26/12/2017 10:45:42 door Nick Vledder
EDIT: maar als er dus slimmere oplossingen voorhanden zijn zou ik die eerst proberen :p.
Gewijzigd op 25/12/2017 00:44:36 door Thomas van den Heuvel
Correctie: verwijzing naar import.io Dit platform heeft wel een API en kan je snel vooruithelpen bij het developen.