-
Notifications
You must be signed in to change notification settings - Fork 0
/
allebedrijvensimple.rb
36 lines (24 loc) · 5.17 KB
/
allebedrijvensimple.rb
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
#!/usr/bin/env ruby
require 'nokogiri'
require 'open-uri'
require 'csv'
BASEURL = "http://www.wiezemstdievindt.be"
#TODO Array is voor het gemak samengesteld met de iddetecthelper.rb omdat Nokogiri een nodeset i.p.v. een array returned.
#FUTURE Implementeren met to_a
bedrijfids = ["306", "435", "227", "82", "1929", "91", "413", "179", "521", "603", "436", "523", "290", "537", "457", "133", "108", "340", "467", "475", "905", "131", "1968", "388", "583", "535", "213", "196", "192", "89", "479", "472", "209", "459", "556", "681", "217", "1937", "1051", "239", "113", "83", "210", "547", "572", "278", "50", "136", "805", "549", "123", "387", "598", "147", "403", "544", "248", "379", "1039", "55", "61", "675", "243", "301", "35", "145", "172", "87", "183", "59", "122", "505", "432", "84", "517", "595", "369", "374", "264", "513", "298", "258", "262", "257", "1931", "73", "37", "1982", "139", "2010", "850", "548", "804", "13", "495", "410", "240", "352", "47", "285", "509", "325", "395", "282", "1471", "222", "1831", "22", "839", "586", "178", "360", "32", "256", "271", "321", "51", "204", "96", "229", "640", "302", "205", "504", "1984", "107", "49", "128", "14", "421", "40", "377", "125", "326", "476", "543", "198", "438", "56", "423", "70", "563", "317", "127", "305", "74", "63", "541", "327", "126", "169", "318", "569", "540", "384", "430", "415", "433", "242", "180", "397", "268", "173", "1088", "52", "236", "381", "375", "187", "220", "329", "497", "867", "597", "21", "81", "440", "323", "531", "1086", "152", "525", "17", "199", "1921", "518", "437", "647", "269", "404", "238", "27", "97", "202", "425", "330", "466", "473", "469", "338", "650", "1987", "339", "406", "553", "1988", "181", "124", "368", "674", "680", "507", "478", "153", "342", "613", "151", "503", "402", "552", "274", "365", "287", "233", "207", "621", "331", "250", "645", "561", "532", "446", "454", "408", "241", "588", "1112", "71", "148", "266", "58", "270", "383", "1704", "294", "1930", "372", "380", "399", "53", "1935", "393", "341", "137", "458", "293", "587", "291", "362", "447", "427", "332", "363", "31", "606", "1756", "456", "1983", "515", "277", "400", "486", "610", "449", "391", "18", "230", "424", "135", "23", "615", "558", "607", "1918", "314", "255", "776", "144", "280", "601", "319", "1180", "67", "614", "405", "652", "143", "221", "612", "95", "2017", "483", "582", "105", "289", "591", "296", "276", "579", "11", "1917", "679", "150", "455", "1884", "539", "94", "462", "260", "157", "407", "450", "453", "487", "171", "464", "1", "409", "111", "224", "488", "527", "480", "1941", "38", "373", "500", "385", "12", "1472", "573", "254", "29", "109", "602", "26", "41", "428", "353", "1981", "316", "313", "642", "185", "90", "234", "477", "441", "1972", "273", "624", "367", "560", "554", "498", "75", "158", "471", "295", "566", "481", "663", "580", "529", "223", "249", "496", "485", "484", "392", "112", "259", "502", "140", "176", "106", "1979", "115", "448", "460", "218", "490", "463", "299", "142", "237", "315", "288", "526", "1985", "389", "149", "121", "231", "344", "618", "303", "522", "155", "86", "2", "1853", "534", "138", "1100", "297", "358", "359", "310", "320", "197", "308", "815", "1980", "160", "333", "474", "346", "211", "193", "420", "68", "1970", "348", "470", "170", "390", "161", "43", "510", "129", "676", "110", "334", "345", "519", "1936", "452", "445", "491", "364", "261", "64", "538", "335", "174", "492", "468", "482", "461", "439", "130", "1710", "72", "444", "451", "134", "649", "2025", "336", "493", "371", "644", "1963", "200", "426", "545", "350", "57", "671", "599", "54", "351", "275", "530", "828", "279", "168", "45", "244", "594", "593", "592", "1924", "3", "311", "162", "203", "357", "1940", "494", "7", "44", "465", "328", "4", "175", "633", "376", "678", "571", "190", "577", "528", "559", "272", "337", "354", "414", "499", "92", "235", "611", "216", "159", "600", "194", "16", "386", "347", "349", "251", "201", "284", "417", "195", "226", "39", "422", "182", "246", "508", "511", "166", "24", "443", "431", "382", "506", "398", "208", "9", "228", "265", "215", "132", "283", "189", "206", "232", "309", "1961", "442", "119", "146", "370", "304", "80", "93", "1181", "77", "514", "214", "355", "177", "366", "378", "292", "164", "78", "8", "576", "186", "120", "567", "167", "281", "1989", "1133", "76", "590", "489", "6", "117", "36", "5", "1969", "575", "546", "20", "1016", "605", "19", "562"]
bedrijfids.each do |bedrijfid|
bedrijfdetailp = "#{BASEURL}/details.php?id=#{bedrijfid}&zoekzin=a"
data = Nokogiri::HTML(open(bedrijfdetailp))
# Grabben van de diverse gegevens
bnaam = data.css('#content h1').text.strip
badres = data.css('td').first.text.strip.gsub!(/\W/, ' ')
bemail = data.css('.link').first.text.strip #TODO Om alles simpel te houden wordt er gewoon naar de eerste link gekeken. Als er een e-mailadres op de pagina staat, is dit steeds de eerste link.
#FUTURE e-mailvalidatie
# Save to csv-bestand
CSV.open('bedrijven.csv', 'a+') do |csv|
csv << [bnaam, badres, bemail]
end
puts bnaam + ' is juist toegevoegd aan het csv-bestand.'
delay_time = rand(11)
sleep(delay_time)
end