forked from yourneighbourhood/BrisbaneDA
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscraper.rb
More file actions
26 lines (23 loc) · 1.15 KB
/
scraper.rb
File metadata and controls
26 lines (23 loc) · 1.15 KB
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
require 'scraperwiki'
require 'faraday'
require 'date'
require 'json'
url = 'https://developmenti.brisbane.qld.gov.au/Geo/GetApplicationFilterResults'
info_url = 'https://developmenti.brisbane.qld.gov.au/Home/FilterDirect?filters=DANumber='
resp = Faraday.post(url) do |req|
req.headers['Content-Type'] = 'application/json'
req.body = '{"Progress":"all","StartDateUnixEpochNumber":0,"EndDateUnixEpochNumber":'+Date.today.to_time.to_i.to_s + '000,"DateRangeField":"submitted","DateRangeDescriptor":"Last 7 Days","MaxRecords":1000,"SortField":"submitted","PixelWidth":800,"PixelHeight":800}'
end
raw = JSON.parse(resp.body)
raw['features'][1..-1].each do |set|
record = {}
set = set['properties']
record['council_reference'] = set['application_number']
record['address'] = set['description'].split(" - ")[0]
record['description'] = set['description'].split(" - ")[1..-1].join(" - ")
record['info_url'] = info_url + record['council_reference']
record['date_received'] = set['date_received']
record['date_scraped'] = Date.today.to_s
puts "Saving #{record['council_reference']}, #{record['address']}"
ScraperWiki.save_sqlite(['council_reference'], record)
end