Ik wil graag de gegevens van de KvK strippen. Dit doe ik door een pagina te pakken, te plakken in een tekstveld en dan exploden op diverse dingen... Nou ben ik redelijk opweg maar zit vast op een stuk... Ik hou dit over:
Barendrecht Exploitatie B.V. 2586CT \'S-GRAVENHAGE 06061317 Café \'t Oude Gemaal 2533CG \'S-GRAVENHAGE 16026363 Maison van den Boer \"Het Circustheater\" 2586CW \'S-GRAVENHAGE 16033506 Havana Den Haag 2513AG \'S-GRAVENHAGE 20092888 Fiddler 2513AM \'S-GRAVENHAGE 20092888 Sanhaji B.V. 2512BS \'S-GRAVENHAGE 24270196 Crazy Piano\'s Scheveningen B.V. 2586JK \'S-GRAVENHAGE 24293085 Soya&Flamenco B.V. 2583CM \'S-GRAVENHAGE 24315114 Horeca Exploitatie WWZ IV B.V. 2511AA \'S-GRAVENHAGE 24358476 De Hooiberg B.V. 2521CJ \'S-GRAVENHAGE 24372147
Het resultaat dat ik uiteindelijk wil is:
Barendrecht Exploitatie B.V. 2586CT \'S-GRAVENHAGE 06061317
Café \'t Oude Gemaal 2533CG \'S-GRAVENHAGE 16026363
Maison van den Boer \"Het Circustheater\" 2586CW \'S-GRAVENHAGE 16033506
Havana Den Haag 2513AG \'S-GRAVENHAGE 20092888
Fiddler 2513AM \'S-GRAVENHAGE 20092888
Sanhaji B.V. 2512BS \'S-GRAVENHAGE 24270196
Crazy Piano\'s Scheveningen B.V. 2586JK \'S-GRAVENHAGE 24293085
Soya&Flamenco B.V. 2583CM \'S-GRAVENHAGE 24315114
Horeca Exploitatie WWZ IV B.V. 2511AA \'S-GRAVENHAGE 24358476
De Hooiberg B.V. 2521CJ \'S-GRAVENHAGE 24372147
Wie heeft DE oplossing?
Groet Donny
[size=xsmall]Toevoeging op 22/09/2013 19:02:16:[/size]
De laatste cijfers zijn het KvK nummer. Deze zijn ALTIJD 8 cijfers lang...
Je geeft niet aan waarvoor je het wilt gebruiken.
Op http://www.kvk.nl/disclaimer/ staat onder het kopje Informatie gebruiken
[quote]Het is niet toegestaan informatie op deze website over te kopiëren, te downloaden of op enigerlei wijze openbaar te maken, te verspreiden of te verveelvoudigen zonder voorafgaande schriftelijke toestemming van de Kamers van Koophandel en de houder van deze website of de rechtmatige toestemming van de rechthebbende. [quote]
Houd er dus rekening mee dat er een copyright rust op de gegevens!
Oke, maar wat dan nog? Of ik het nou handmatig doe of ik schrijf er een PHP scriptje voor waarin ik gegevens plak en die het stript... Gegevens zijn openbaar en mogen wel gebruikt worden. Ligt aan de doeleinden. Heb Contact met hun gehad en hun gaven zelf de link op zodat ik gegevens kon bekijken en gebruiken. Eigen doeleinde is wel toegestaan
Even logisch ontleden: alles tot en met een integer van 8 cijfers zijn de gegevens van een bedrijf. Daarna beginnen de gegevens van een volgend bedrijf.
Ik ben zeker geen ster in regexen.
Het kan dan ook zijn dat dit niet correct is.
Maar het gevraagde komt er wel uit.
<?php
$var = "Barendrecht Exploitatie B.V. 2586CT \'S-GRAVENHAGE 06061317 Café \'t Oude Gemaal 2533CG \'S-GRAVENHAGE 16026363 Maison van den Boer \"Het Circustheater\" 2586CW \'S-GRAVENHAGE 16033506 Havana Den Haag 2513AG \'S-GRAVENHAGE 20092888 Fiddler 2513AM \'S-GRAVENHAGE 20092888 Sanhaji B.V. 2512BS \'S-GRAVENHAGE 24270196 Crazy Piano\'s Scheveningen B.V. 2586JK \'S-GRAVENHAGE 24293085 Soya&Flamenco B.V. 2583CM \'S-GRAVENHAGE 24315114 Horeca Exploitatie WWZ IV B.V. 2511AA \'S-GRAVENHAGE 24358476 De Hooiberg B.V. 2521CJ \'S-GRAVENHAGE 24372147 ";
@Ramon: heb al gekeken, maar werkt niet makkelijker. Bedankt voor je tip!
Ik heb de volgende code en werkt bijna perfect. Enigste probleem waar ik tegenaan loop is dat ik de letters van de postcode niet erbij krijg.
Hier is mijn code:
<html>
<head>
<title>KvK Gegevens plukken</title>
</head>
<body>
<form action="kvk.php" method="post">
<input type="text" name="data">
<input type="submit" value="Strippen" name="add"></form>
<?php
if (isset($_POST['add'])){
$kvkNummers = array();
$overigeGegevens = array();
$postcodes = array();
$explode1 = explode('gevonden', $_POST['data']);
$explode2 = explode('pagina', $explode1[1]);
//Karakters tellen
$countstring = substr($explode2[0],2);
//Counters en lege variabelen aanmaken
$intCounter = 0;
$kvkNummer = '';
$overige = '';
$nummer = '';
$postcodeCounter = 0;
$postcode = '';
//Tellen van het eerste karakter tot het laatste karakter
for($i=1; $i <= strlen($countstring); $i++){
//Huidige karakter bepalen
$curChar = substr($countstring, $i, 1);
//Als de integer teller niet gelijk is aan 8, dan is het geen KVK nummer
if($intCounter == 8){
//Intcounter is 8, dus prop de gegevens in een array en reset alle waarde en begin opnieuw
array_push($kvkNummers, $nummer);
array_push($overigeGegevens, $overige);
array_push($postcodes, $postcode);
$intCounter = 0;
$overige = '';
$nummer = '';
$postcode = '';
$postcodeCounter = 0;
} else {
//Controleren of $curChar een getal is of ander teken
if(is_numeric($curChar)){
if(strlen($postcode) <= 3){
//Als de $postcode 3 of minder karakters bevat, voeg dan de CurChar nog 1x toe.
$postcode .= $curChar;
$postcodeCounter++;
//$intCounter++;
} else {
//Postcode cijfers zijn gevuld, alleen nog de KVK aanmaken
$nummer .= $curChar;
$intCounter++;
}
} else {
//Het is geen getal, dus toevoegen aan de string $overige
$overige .= $curChar;
}
}
}
}
echo '<hr /><h1>KvK Nummers</h1>';
print_r($kvkNummers);
echo '<hr /><h1>Postcodes</h1>';
print_r($postcodes);
echo '<hr /><h1>Overige</h1>';
print_r($overigeGegevens);
echo '<hr />';
?>
</body>
</html>