Scrapes planning applications data for InLinkUK from BT kiosks.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

scraper.rb 855 B

6 anos atrás
6 anos atrás
6 anos atrás
6 anos atrás
123456789101112131415161718192021222324252627
  1. require 'uk_planning_scraper'
  2. require 'scraperwiki'
  3. auths = UKPlanningScraper::Authority.all
  4. scrapes = [
  5. { validated_days: ENV['MORPH_DAYS'].to_i, keywords: 'inlink'},
  6. { validated_days: ENV['MORPH_DAYS'].to_i, keywords: 'bt phone kiosk'}
  7. ]
  8. auths.each_with_index do |auth, i|
  9. puts "#{i + 1} of #{auths.size}: #{auth.name}"
  10. scrapes.each_with_index do |scrape, j|
  11. puts "Scrape #{j + 1} of #{scrapes.size}: keywords: #{scrape[:keywords]}"
  12. begin
  13. apps = auth.scrape(scrape)
  14. apps.each do |app|
  15. unless app[:description].match(/chainlink/i) # Backend keyword search is weak
  16. ScraperWiki.save_sqlite([:authority_name, :council_reference], app, 'applications')
  17. end
  18. end
  19. puts "#{auth.name}: #{apps.size} application(s) saved."
  20. rescue StandardError => e
  21. puts "Error: #{e}"
  22. end
  23. end
  24. end