Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'nokogiri'
- require 'open-uri'
- require 'csv'
- require 'benchmark'
- persona = Hash.new
- csvFile = 'Commercialisti Provincia di Brindisi'
- #per troare gli indirizzi email su questo sito sono necessarie due operazioni: accedere alla pagina con la lista dei nominativi
- # e relativi link, e poi accedere ai link individualmente. Questo perché gli id dei nominativi sono apparentemente assegnati in modo casuale
- for i in (1..43)
- page = Nokogiri::HTML(open("http://www.odcecbrindisi.it/albo/iscritti.php?entityid=-1&categoria=0&keywords=&localita=&pag=" + i.to_s), 'UTF-8')
- links = page.css("a.iscritto")
- links.each do |link|
- scheda = Nokogiri::HTML(open('http://www.odcecbrindisi.it'+link['href']))
- nome = (scheda.css('table')[0].css('tr')[1].css('td')[1].text) + ' ' + (scheda.css('table')[0].css('tr')[2].css('td')[1].text)
- email= scheda.css('table')[2].css('tr')[3].css('td')[1].css('a').text
- persona[nome] = email
- end
- puts 'pagina ' + i.to_s
- end
- puts persona.length.to_s + ' persone trovate'
- CSV.open(csvFile + ".csv", "w") do |csv|
- csv << ["Indirizzo e-mail","Nome"]
- persona.each do |key, value|
- csv << [value, key]
- end
- end
- puts 'fine'
Advertisement
Add Comment
Please, Sign In to add comment