abonnement Unibet Coolblue Bitvavo
pi_68335614
quote:
Op vrijdag 24 april 2009 13:33 schreef DaFrenk het volgende:
Iemand enig idee van een gratis MySQL database met daarin alle landen en bijbehorende provincies/districten van West-Europa?
Ik ben er ook op zoek naar geweest, maar niet echt gevonden. Het ging mij niet om West-Europa, maar om de hele wereld, maar het was niet te vinden.

Wel ontdekte ik dat drupal een hele verzameling PHP-bestanden heeft waarin voor elk land alle districten staan opgeslagen in een PHP-array. Die heb ik vervolgens gebruikt in mijn applicatie.

Je zou drupal kunnen downloaden, die bestanden kunnen inlezen en zo zelf je eigen database samenstellen.
pi_68335715
quote:
Op vrijdag 24 april 2009 13:40 schreef HuHu het volgende:

[..]

Ik ben er ook op zoek naar geweest, maar niet echt gevonden. Het ging mij niet om West-Europa, maar om de hele wereld, maar het was niet te vinden.

Wel ontdekte ik dat drupal een hele verzameling PHP-bestanden heeft waarin voor elk land alle districten staan opgeslagen in een PHP-array. Die heb ik vervolgens gebruikt in mijn applicatie.

Je zou drupal kunnen downloaden, die bestanden kunnen inlezen en zo zelf je eigen database samenstellen.
Thanks! Dat gaan we eens bekijken!

Tja, er zijn wel van die databases. Maar niet kosteloos dus.
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_68336001
quote:
Op vrijdag 24 april 2009 13:43 schreef DaFrenk het volgende:

[..]

Thanks! Dat gaan we eens bekijken!

Tja, er zijn wel van die databases. Maar niet kosteloos dus.
Klopt, maar met een beetje creativiteit kom je een heel eind met die Drupal bestanden .
  vrijdag 24 april 2009 @ 13:52:26 #104
63192 ursel
"Het Is Hier Fantastisch!
pi_68336018
Ik heb wel ooit eens ergens een postcode database gekregen. Maar volgens mij was die echt gigantische groot, en voor mijn gratis hosting ging dat nou ook weer niet echt samen..
  vrijdag 24 april 2009 @ 13:59:56 #105
62215 qu63
..de tijd drinkt..
pi_68336274
quote:
Op vrijdag 24 april 2009 13:52 schreef ursel het volgende:
Ik heb wel ooit eens ergens een postcode database gekregen. Maar volgens mij was die echt gigantische groot, en voor mijn gratis hosting ging dat nou ook weer niet echt samen..
Dit werkt ook: http://kvdb.net/projects/6pp/
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_68336385
quote:
Op vrijdag 24 april 2009 13:51 schreef HuHu het volgende:

[..]

Klopt, maar met een beetje creativiteit kom je een heel eind met die Drupal bestanden .
Whehe, da's geen bezwaar.

Echter, waar kan ik die bestanden vinden? Ik zie een shitload aan *.inc bestanden, maar daarin vind ik niet echt iets wat op een dergelijke array lijkt. Of moet ik Drupal eerst installeren?
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_68336431
quote:
Op vrijdag 24 april 2009 13:59 schreef qu63 het volgende:

[..]

Dit werkt ook: http://kvdb.net/projects/6pp/
Wow! Da's een instant bookmark!
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_68336592
quote:
Op vrijdag 24 april 2009 14:03 schreef DaFrenk het volgende:

[..]

Whehe, da's geen bezwaar.

Echter, waar kan ik die bestanden vinden? Ik zie een shitload aan *.inc bestanden, maar daarin vind ik niet echt iets wat op een dergelijke array lijkt. Of moet ik Drupal eerst installeren?
Hier: http://drupal.org/project/location En dan in het mapje supported, daar staat alles in.
pi_68336881
quote:
Op vrijdag 24 april 2009 14:10 schreef HuHu het volgende:

[..]

Hier: http://drupal.org/project/location En dan in het mapje supported, daar staat alles in.
Gevonden, thanks! Die bijbehorende mysql postcodedatabases voor o.a. Duitsland zien er ook interessant uit!
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
  vrijdag 24 april 2009 @ 14:18:09 #110
62215 qu63
..de tijd drinkt..
pi_68336886
quote:
Op vrijdag 24 april 2009 14:04 schreef DaFrenk het volgende:

[..]

Wow! Da's een instant bookmark!
Zeker! Ook de afstand tussen 2 postcodes kan je daar vinden: http://6pp.kvdb.net/services/distance?start_postcode=1000AA&destination_postcodes=1200
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_68337641
quote:
Op vrijdag 24 april 2009 12:45 schreef SuperRembo het volgende:

[..]

In principe is het gewoon een http post request.
I know, dat kan ik met cURL doen, maar ik heb toch liever een nettere oplossing. Niemand een idee?
  vrijdag 24 april 2009 @ 15:07:49 #112
63192 ursel
"Het Is Hier Fantastisch!
pi_68338636
quote:
Op vrijdag 24 april 2009 14:18 schreef qu63 het volgende:

[..]

Zeker! Ook de afstand tussen 2 postcodes kan je daar vinden: http://6pp.kvdb.net/services/distance?start_postcode=1000AA&destination_postcodes=1200
Hij herkent niet eens mijn postcode, 2563KA
pi_68338758
quote:
Op vrijdag 24 april 2009 15:07 schreef ursel het volgende:

[..]

Hij herkent niet eens mijn postcode, 2563KA
Nee, ik zie ook dat mijn straat en postcode er niet in voorkomen. Maar het is dan ook een vrijwilligersproject begrijp ik? Misschien kunnen we onze gegevens doorgeven, dan helpen we tenminste mee om het completer te maken
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_68339220
quote:
Op vrijdag 24 april 2009 14:41 schreef super-muffin het volgende:
I know, dat kan ik met cURL doen, maar ik heb toch liever een nettere oplossing. Niemand een idee?
ik gebruik de NuSOAP class altijd, die regelt het dan lekker voor me
  vrijdag 24 april 2009 @ 15:31:20 #115
63192 ursel
"Het Is Hier Fantastisch!
pi_68339383
quote:
Op vrijdag 24 april 2009 15:26 schreef Xcalibur het volgende:

[..]

ik gebruik de NuSOAP class altijd, die regelt het dan lekker voor me
Hier ook..
pi_68340628
Dan ga ik daar maar eens naar kijken
pi_68361102
Hoi,

vraagje, voor velen gesneden koek, ik klungel er nog wat mee.

Ik wil de broncode van een pagina inlezen. Alle HTML/javascript/etc. er uit gooien en alle woorden in een array zetten. Teneinde een zoekmachine te construeren.

Broncode inlezen en alle HTML verwijderen gaat nog wel. fgetss() is erg handig (strip_tags achtige functie) Hiermee wordt alles tussen <...> verwijderd. Echter Javascript tussen niet tussen <...> maar tussen <script>JAVASCRIPT</script>. Oftewel alles tussen die tags wordt meegenomen. In dit geval het woord JAVASCRIPT
Kan dat nou niet anders?

Ik wil alles tussen "<script" en "</script>" verwijderen.

Probleem is concreet: hoe zit dat ook al weer met die resource handler $handle? Hoe kan ik in onder staand stukje code de file inlezen, de java strippen en dan woord voor woord verder scannen? Nu wordt met fgetss() het bestand regel voor regel doorlopen, de $filehandler. Ik wil eigenlijk de string doorlopen. Toch???
Het komt er op neer dat ik eerst de tekst moet opschonen van alles wat ik niet wil hebben om als allerlaatste pas de content als losse woorden in een array te stoppen.

Iets doe ik nu niet handig. Maar hoe kan ik het wel handig doen? Iemand goede aanwijzingen?

Het volgende stukje code heb ik.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
error_reporting (E_ALL);
// vars aanmaken
$word_array=array();
$words='';
// ongewenste leestekens
$char_arr=array(":",
                ";",
                "?",
                ",",
                "(",
                ")",
                ".",
                "'",
                "\"");
// bestand aanroepen
$handle = fopen("http://www.mijndomein.nl/index.php", "r");
if($handle)
 {
  // Hier ergens moet alles tussen "<script" en "</script> verwijderd worden
  //[....]

  // bestand regel voor regel, woord voor woord inlezen
  while (!feof($handle))
   {
    $buffer = fgetss($handle, 4096);
    // leestekens verwijderen
    $words.=str_replace($char_arr," ",$buffer);
   }
  fclose($handle);
 }
// spaties verwijderen
$words=trim($words);
// string converteren naar array met woorden
$word_array=explode(" ", $words);
// lege keys of keys met spaties verwijderen
foreach($word_array as $key => $value)
 {
  $value=trim($value);
  if($value == "" OR strlen($value) < 4)
   {
    unset($word_array[$key]);
   }
 }
//output
print_r($word_array);
?>


P.S.: het verwijderen van de blokken java is een bewerking die uitgevoerd moet worden. In een later stadium wil ik ook o.a. eerst de metatags uitlezen alvorens ik die weggooi met fgetss(). Wellicht kom ik nog meer van dit soort zaken tegen. Als ik maar weet hoe dit gaat, op welk moment ik met die $handle etc. omga.

[ Bericht 0% gewijzigd door beerten op 25-04-2009 10:32:46 ]
pi_68361655
Even logisch nadenken over wat er moet gebeuren:
  • Bestand/pagina lezen
  • Script blokken verwijderen
  • HTML strippen
  • Woordenlijst opbouwen

    En dat dan gebruiken om nette code te schrijven.
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_68361906
    quote:
    Op zaterdag 25 april 2009 10:54 schreef SuperRembo het volgende:
    Even logisch nadenken over wat er moet gebeuren:
  • Bestand/pagina lezen
  • Script blokken verwijderen
  • HTML strippen
  • Woordenlijst opbouwen

    En dat dan gebruiken om nette code te schrijven.
  • Thnx, ik snap wat je bedoelt. Ik zat vast met fgetss()
    file_get_contents() is veel makkelijker in dit geval.

    Je noemt nette code. Is mijn code in jouw ogen niet net? Inspringen doe ik inderdaad anders dan de ongeschreven regels voorschrijven. Ik sta open voor suggesties. Het is echter een notatie die ik altijd en consequent gebruik.

    Onderstaand mijn oplossing. Voor zover ik nu getest heb werkende. Pas als ik het in een crawler inbouw komen alle bugs boven.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    <?php
    error_reporting (E_ALL);
    $char_arr=array(":",
                    ";",
                    "?",
                    ",",
                    "(",
                    ")",
                    ".",
                    "'",
                    "\"",
                    "[",
                    "]",
                    "-",
                    "_",
                    "?",
                    "!",
                    "+",
                    "=",
                    "&",
                    "#",
                    "$",
                    "%",
                    "^",
                    "*",
                    "~");
    $word_array=array();
    $words='';
    $filename="http://www.mijndomein.nl/index.php";
    $words=file_get_contents($filename);

    //Alle woorden in lowercase weergeven
    $words=strtolower($words);

    // Metatags uitlezen
    $tags = get_meta_tags($filename);
    echo 'Author = '.$tags['author'].'<br>';
    echo 'keywords = '.$tags['keywords'].'<br>';
    echo 'Description = '.$tags['description'].'<br>';
    echo 'Robots = '.$tags['robots'].'<br>';

    $index_tag=explode(",",$tags['robots']);
    print_r($index_tag);
    print '<br>';
    if(in_array("index",$index_tag))
     {
      print 'Ja, "index" is toegestaan<br>';
     }
    else
     {
      print 'Indexeren niet toegestaan<br>';
     }
    if(in_array("follow",$index_tag))
     {
      print 'Ja, "follow" is toegestaan<br>';
     }
    else
     {
      print 'Links volgen niet toegestaan<br>';
     }
    function get($a,$b,$c)
     { // Gets a string between 2 strings
      $y = explode($b,$a);
      $x = explode($c,$y[1]);
      return $x[0];
     }
    echo 'titel = '.get($words, "<title>", "</title").'<br>';

    // <h1>Titel</h1><p>Inhoud</p> levert de twee woorden
    // op aan elkaar TitelInhoud Deze moeten gescheiden worden.
    // In eerste instantie worden alle "</" vervangen door een "."
    // Dit scheidt de woorden en de "." wordt later weer verwijderd.
    $words=str_replace("</",".</",$words);

    // Verwijderen van blokken code
    $pattern[0] = "/<script\b[^>]*>(.*?)<\/script>/i";
    $pattern[1] = "/<style\b[^>]*>(.*?)<\/style>/i";
    // Blokken code vervangen door
    $replace = " ";
    // De blokken code verwijderen
    $words = preg_replace($pattern, $replace, $words);

    // Alle HTML-tags er uit halen
    $words=strip_tags($words);

    // Onnodige spaties verwijderen
    $words=trim($words);

    // Alle ongewenste (lees)tekens verwijderen
    // Aandachtspuntje: in de HTML borncode staan alle speciale
    // tekens zoals "&',<",">" als htmlentities gecodeerd.
    // Ook die moeten er uit. Dit kan door alle gecodeerde
    // tekens te decoderen naar het oorspronkelijke karakter
    // Alle leestekens decoderen
    $words=html_entity_decode($words);
    // Alle speciale leestekens verwijderen
    $words=str_replace($char_arr," ",$words);

    // Alle losse worden in een array stoppen
    // Lege waarden en woorden met minder dan 4 tekens verwijderen
    $word_array=explode(" ", $words);
    foreach($word_array as $key => $value)
     {
      $value=trim($value);
      if($value == "" OR strlen($value) < 4)
       {
        unset($word_array[$key]);
       }
     }

    // Output naar scherm
    asort($word_array);
    foreach($word_array as $key => $value)
     {
      print $key .' = '.$value.'</br />';
     }
    ?>


    Edit: voor de geinteresseerden en de zoekfunctie gecompleteerd met metatags en titel, robots index/follow opzetje.
    Voldoende als basis om zelf mee te knutselen.

    [ Bericht 46% gewijzigd door beerten op 25-04-2009 19:40:13 ]
    pi_68365886
    quote:
    Op vrijdag 24 april 2009 13:52 schreef ursel het volgende:
    Ik heb wel ooit eens ergens een postcode database gekregen. Maar volgens mij was die echt gigantische groot, en voor mijn gratis hosting ging dat nou ook weer niet echt samen..
    Ik heb m ook nog, 12 megabytes is ie.. en in dit formaat:
    1
    2
    3
    4
    1011AA 487930.970 122233.208
    1011AB 487895.710 122264.842

    ...


    432.144 postcodetjes
      zaterdag 25 april 2009 @ 22:39:44 #121
    62215 qu63
    ..de tijd drinkt..
    pi_68378939
    quote:
    Op zaterdag 25 april 2009 14:16 schreef Thomass het volgende:

    [..]

    Ik heb m ook nog, 12 megabytes is ie.. en in dit formaat:
    [ code verwijderd ]

    432.144 postcodetjes
    postcode + lat/lon?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_68379019
    Kan je die postcode database ergens ter download aanbieden?
    hoe volledig is die denk je?
    pi_68384349
    quote:
    Op zaterdag 25 april 2009 22:42 schreef Xcalibur het volgende:
    Kan je die postcode database ergens ter download aanbieden?
    hoe volledig is die denk je?
    Ik hou me ook aanbevolen
    Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
    Dwight K. Schrute: Impossible to say. I can't see myself.
      FOK!-Schrikkelbaas zondag 26 april 2009 @ 08:59:24 #124
    1972 Swetsenegger
    Egocentrische Narcist
    pi_68384385
    Ik zoek eigenlijk meer een postcode/adres relatie DB.
      zondag 26 april 2009 @ 09:07:36 #125
    198417 Lastpost
    Rotterdammert!
    pi_68384445
    Ook hier maar even een tvp, vanuit het niets (qua kennis) begonnen met het opbouwen van een site-idee dat in m'n hoofd zat en ik zal vast nog wel wat vragen hebben als dummie zijnde.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')