StashProperty / multiple_masterview

Scrapes multiple authorities that have a masterview system


This is a scraper that runs on Morph. To get started see the documentation

To run the scraper

bundle exec ruby scraper.rb

To run the tests

bundle exec rake

To run style and coding checks

bundle exec rubocop

What a Masterview website looks like

Sign up

(To update this screenshot run bundle exec rake screenshots)

Contributors mlandauer AndreM101 njenkins

Last run failed with status code 1.

Console output of last run

Injecting configuration and compiling... Injecting scraper and running... Scraping authorities: gunnedah, maranoa, broken_hill, gympie, fairfield, fraser_coast, hawkesbury, toowoomba, bundaberg, wingecarribee, albury, bogan, lismore, port_macquarie_hastings, port_stephens, singleton, camden Collecting feed data for gunnedah... Collecting feed data for maranoa... gunnedah: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Saving record 22 - 2025 - 21457 - 1 - 34 Chadford St, Wallumbilla 4428 QLD Saving record 30 - 2025 - 21456 - 1 - 5 Spencer St, Roma 4455 QLD Saving record 23 - 2024 - 21243 - 1 - 31 Duke St, Roma 4455 QLD Saving record 22 - 2025 - 21455 - 1 - 7 Short St, Mitchell 4465 QLD Saving record 22 - 2025 - 21454 - 1 - 17 Edna St, Roma 4455 QLD Saving record 22 - 2025 - 21453 - 1 - 2 Norman Ct, Roma 4455 QLD Saving record 30 - 2025 - 21452 - 1 - 120-122 Alice St, Mitchell 4465 QLD Saving record 22 - 2025 - 21451 - 1 - 31 Duke St, Roma 4455 QLD Saving record 22 - 2025 - 21433 - 1 - 31 Stephenson St, Yuleba 4427 QLD Saving record 22 - 2025 - 21450 - 1 - 157 Edwardes St, Roma 4455 QLD Saving record 23 - 2025 - 21449 - 1 - 51-67 Wyndham St, Roma 4455 QLD Saving record 30 - 2025 - 21448 - 1 - 3 Rose Smith Lane, Muckadilla 4461 QLD Saving record 30 - 2025 - 21447 - 1 - Carnarvon Hwy, Injune 4454 QLD Saving record 22 - 2025 - 21446 - 1 - 28943 Carnarvon Hwy, Tingun 4455 QLD Saving record 22 - 2025 - 21445 - 1 - 46 Derry St, Roma 4455 QLD Saving record 22 - 2025 - 21444 - 1 - Perry St, Yuleba 4427 QLD Saving record 22 - 2025 - 21443 - 1 - Warrego Hwy, Wallumbilla 4428 QLD Saving record 30 - 2025 - 21442 - 1 - Spencer St, Roma 4455 QLD Saving record 23 - 2025 - 21439 - 1 - 1E Bungil St, Roma 4455 QLD Saving record 22 - 2025 - 21440 - 1 - 99 Charles St, Roma 4455 QLD Saving record 22 - 2025 - 21439 - 1 - 1E Bungil St, Roma 4455 QLD Saving record 22 - 2025 - 21438 - 1 - Thomby Rd, Wellesley 4417 QLD Saving record 30 - 2025 - 21437 - 1 - 2-6 Wormwell Dr, Roma 4455 QLD Saving record 22 - 2025 - 21436 - 1 - Bollon Rd, Mitchell 4465 QLD Saving record 30 - 2025 - 21435 - 1 - 32 Hawthorne St, Roma 4455 QLD Saving record 22 - 2025 - 21434 - 1 - 8 Baker Finch Cres, Roma 4455 QLD Saving record 30 - 2025 - 21426 - 1 - 16 South St, Roma 4455 QLD Saving record 22 - 2025 - 21432 - 1 - 187 Womblebank Gap Rd, Injune 4454 QLD Saving record 22 - 2025 - 21431 - 1 - 1222 Burtons Rd, Euthulla 4455 QLD Saving record 30 - 2025 - 21430 - 1 - 75 Fleming Dr, Roma 4455 QLD Saving record 30 - 2025 - 21429 - 1 - 123-135 Raglan St, Roma 4455 QLD Saving record 30 - 2025 - 21422 - 1 - Injune Taroom Rd, Injune 4454 QLD Saving record 30 - 2023 - 20783 - 4 - 219-223 Raglan St, Roma 4455 QLD Collecting feed data for broken_hill... Saving record 10 - 2025 - 27 - 1 - 5 Kaolin St, Broken Hill NSW 2880 Saving record 10 - 2025 - 29 - 1 - 155 Wyman St, Broken Hill NSW 2880 Saving record 10 - 2025 - 34 - 1 - 521 Mcgowen St, Broken Hill NSW 2880 Saving record 10 - 2025 - 32 - 1 - 124 Williams St, Broken Hill NSW 2880 Saving record 10 - 2025 - 31 - 1 - 586-588 Wolfram St, Broken Hill NSW 2880 Saving record 10 - 2025 - 14 - 2 - 299 Duff St, Broken Hill NSW 2880 Saving record 10 - 2025 - 21 - 1 - 602 Fisher St, Broken Hill NSW 2880 Saving record 10 - 2025 - 30 - 1 - 221 Clarke St, Broken Hill NSW 2880 Saving record 10 - 2024 - 54 - 2 - 1 Warnock St, Broken Hill NSW 2880 Saving record 10 - 2025 - 23 - 1 - 328 Wyman St, Broken Hill NSW 2880 Saving record 10 - 2025 - 22 - 1 - 505 Cummins Lane, Broken Hill NSW 2880 Saving record 10 - 2025 - 24 - 1 - 26 Allendale St, Broken Hill NSW 2880 Saving record 10 - 2025 - 1 - 2 - 28 Kanandah Rd, Broken Hill NSW 2880 Collecting feed data for gympie... Saving record 8.2025.1047.1 - 19 Cartwright Rd, Gympie 4570 QLD Saving record 7.2025.1179.1 - 63 Eljays Rd, The Palms 4570 QLD Saving record 8.2025.1103.1 - 417 Mcintosh Creek Rd, Mcintosh Creek 4570 QLD Saving record 7.2025.1106.1 - 18 Alfred St, Gympie 4570 QLD Saving record 7.2025.1162.1 - 89 Hood Rd, Veteran 4570 QLD Saving record 7.2025.1105.1 - 44 Mcintosh Creek Rd, Jones Hill 4570 QLD Saving record 7.2025.1059.1 - 9 Wyvern Rd, Rainbow Beach 4581 QLD Saving record 8.2025.1082.1 - 4 Figtree Rd, Chatsworth 4570 QLD Saving record 8.2025.935.1 - 41 Cootharaba Rd, Gympie 4570 QLD Saving record 15.2025.1056.1 - 1580 Wide Bay Hwy, Lower Wonga 4570 QLD Saving record 22.2023.2480.1 - Bonnick Rd, Gympie 4570 QLD Saving record 15.2025.1107.1 - 111 Tuchekoi Rd, Bollier 4570 QLD Saving record 22.2019.4497.4 - 173-175 Old Maryborough Rd, Araluen 4570 QLD Saving record 15.2025.965.1 - Amamoor Creek Rd, Amamoor Creek 4570 QLD Saving record 14.2025.950.1 - 56 Anne Marie Rd, Chatsworth 4570 QLD Saving record 7.2025.958.1 - Corella Rd, Gympie 4570 QLD Saving record 7.2025.1015.1 - 20 Caledonian Hill, Gympie 4570 QLD Saving record 7.2025.953.1 - Leshaan Saving record 15.2025.1013.1 - 161 Knobby Glen Rd, Kandanga 4570 QLD Saving record 15.2025.1001.1 - 32 Booker St, Woolooga 4570 QLD Saving record 8.2025.932.1 - 6 Nelson Rd, Gympie 4570 QLD Saving record 22.2022.232.1 - 124 Yabba Rd, Imbil 4570 QLD Saving record 14.2025.782.1 - 56 Anne Marie Rd, Chatsworth 4570 QLD Collecting feed data for fairfield... Saving record DA - 117.1/2025 - 59 St Kilda ST ST JOHNS PARK, NSW Saving record DA - 118.1/2025 - 8 Latitude RD HORSLEY PARK, NSW Saving record DA - 119.1/2025 - 28 Frederick ST FAIRFIELD, NSW Saving record DA - 120.1/2025 - 3 Locke ST WETHERILL PARK, NSW Saving record DA - 121.1/2025 - 29 Hawthorn ST ST JOHNS PARK, NSW Saving record DA - 122.1/2025 - 694 The Horsley DR SMITHFIELD, NSW Saving record DA - 123.1/2025 - 121 Arbutus ST CANLEY HEIGHTS, NSW Saving record DA - 124.1/2025 - 1/19 Hargraves PL WETHERILL PARK, NSW Saving record DA - 125.1/2025 - 4 Barwar CL HORSLEY PARK, NSW Saving record DA - 126.1/2025 - 8 Myddleton AVE FAIRFIELD, NSW Saving record DA - 127.1/2025 - 43 Frank ST WETHERILL PARK, NSW Saving record DA - 128.1/2025 - 73 Knight ST LANSVALE, NSW Saving record DA - 129.1/2025 - 3 Ludgate ST FAIRFIELD, NSW Saving record DA - 130.1/2025 - 10 Gundagai CRES WAKELEY, NSW Saving record DA - 131.1/2025 - 62 Campbell ST FAIRFIELD EAST, NSW Saving record DA - 133.1/2025 - 15 Crosby CRES FAIRFIELD, NSW Saving record DA - 134.1/2025 - 51 Dransfield RD EDENSOR PARK, NSW Saving record DA - 135.1/2025 - 813-913 Wallgrove RD HORSLEY PARK, NSW Saving record DA - 136.1/2025 - 7 Verrell ST WETHERILL PARK, NSW Saving record DA - 137.1/2025 - 12 Normanby ST FAIRFIELD EAST, NSW Saving record DA - 138.1/2025 - 16 Woods AVE CABRAMATTA, NSW Collecting feed data for fraser_coast... Collecting feed data for hawkesbury... fraser_coast: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (unable to get local issuer certificate) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for toowoomba... hawkesbury: ERROR: Failed to open TCP connection to datrack.hawkesbury.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' toowoomba: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (ok) Collecting feed data for bundaberg... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for wingecarribee... bundaberg: ERROR: 403 => Net::HTTPForbidden for https://da.bundaberg.qld.gov.au/ -- unhandled response /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:329:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for albury... wingecarribee: ERROR: Failed to open TCP connection to datracker.wsc.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for bogan... albury: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for lismore... bogan: ERROR: Failed to open TCP connection to datracker.bogan.nsw.gov.au:81 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Saving record 5.2025.93.1 - 10 Schurr Dr, Goonellabah NSW 2480 Saving record 5.2021.452.4 - 1112 Bruxner Hwy, Mckees Hill NSW 2480 Saving record 5.2025.88.1 - 671 Koonorigan Rd, Koonorigan NSW 2480 Saving record 10.2024.237.1 - 54 Pindari Cres, Goonellabah NSW 2480 Saving record 5.2025.91.1 - 12 Evergreen Dr, Goonellabah NSW 2480 Saving record 5.2025.92.1 - 1047 Bangalow Rd, Bexhill NSW 2480 Saving record 10.2024.311.1 - 285 Tucki Rd, Tucki Tucki NSW 2480 Saving record 5.2025.75.1 - 224 Richmond Hill Rd, Richmond Hill NSW 2480 Saving record 5.2025.94.1 - 15 Grace Rd, Bexhill NSW 2480 Saving record 5.2024.328.2 - 28 Ballina Rd, Lismore NSW 2480 Saving record 5.2025.85.1 - 27 Paradise Ct, Mcleans Ridges NSW 2480 Saving record 5.2024.196.2 - 19 Julieanne Pl, Bexhill NSW 2480 Saving record 5.2025.76.1 - 27 Cullen St, Nimbin NSW 2480 Saving record 5.2025.78.1 - 32 George Dr, Chilcotts Grass NSW 2480 Saving record 5.2025.73.1 - 12/78 Cecil St, Nimbin NSW 2480 Saving record 5.2025.72.1 - 1 Birdwing Pl, Modanville NSW 2480 Saving record 10.2025.36.1 - 7 Doyle Pl, Goonellabah NSW 2480 Saving record 5.2025.84.1 - 110 Gungas Rd, Nimbin NSW 2480 Saving record 5.2025.86.1 - 87 Fletcher Rd, Dunoon NSW 2480 Saving record 10.2024.224.1 - 22 James Rd, Goonellabah NSW 2480 Saving record 5.2025.81.1 - 162 Skyline Rd, Monaltrie NSW 2480 Saving record 10.2025.19.1 - 326 Bice Rd, Leycester NSW 2480 Saving record 5.2025.79.1 - 176 Lindendale Rd, Lindendale NSW 2480 Saving record 5.2025.74.1 - 24 Renwick St, Lismore Heights NSW 2480 Saving record 5.2025.82.1 - 43 Bruxner Cres, Goonellabah NSW 2480 Saving record 5.2025.49.1 - 12 Sandalwood Dr, Caniaba NSW 2480 Saving record 5.2025.87.1 - 52 Phyllis St, South Lismore NSW 2480 Saving record 5.2025.80.1 - 14 Peter St, East Lismore NSW 2480 Saving record 10.2024.326.2 - 16 Cochran Pl, Lismore NSW 2480 Saving record 10.2025.54.1 - 15 Hillside Dr, Nimbin NSW 2480 Saving record 5.2025.77.1 - 11 Duncan Rd, Numulgi NSW 2480 Saving record 5.2025.71.1 - 7 Georgi Pl, Nimbin NSW 2480 Saving record 10.2023.323.1 - 1/110 Woodlark St, Lismore NSW 2480 Saving record 10.2024.84.1 - 1/11 Flatley Dr, Clunes NSW 2480 Saving record 5.2020.72.2 - 1320 Dunoon Rd, Dunoon NSW 2480 Saving record 5.2025.70.1 - 144 Fredericks Rd, Caniaba NSW 2480 Saving record 10.2025.56.1 - 304 Dunoon Rd, North Lismore NSW 2480 Saving record 10.2025.14.1 - 4 Jennifer Pl, Goonellabah NSW 2480 Saving record 5.2025.68.1 - 325 Bangalow Rd, Howards Grass NSW 2480 Saving record 5.2025.67.1 - 910 Kyogle Rd, Fernside NSW 2480 Collecting feed data for port_macquarie_hastings... port_macquarie_hastings: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' Collecting feed data for port_stephens... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for singleton... port_stephens: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Saving record 8.2025.100.1 - 4 Ardersier Dr, Singleton NSW 2330 Saving record 8.2025.111.1 - 656 Milbrodale Rd, Fordwich NSW 2330 Saving record 8.2023.186.3 - 9 Rosedale Cl, Mcdougalls Hill NSW 2330 Saving record 8.2025.95.1 - Kannar Rd, Mount Thorley NSW 2330 Saving record 8.2025.115.1 - 56 Pin Oak Cct, Branxton NSW 2335 Saving record 8.2025.108.1 - 41 Broomfield Cres, Hunterview NSW 2330 Saving record 10.2025.93.1 - 4 Druce Smith Pl, Wattle Ponds NSW 2330 Collecting feed data for camden... singleton: ERROR: Unknown value of determination type: Action Completed /app/lib/masterview_scraper/pages/detail.rb:226:in `scrape_new_version' /app/lib/masterview_scraper/pages/detail.rb:12:in `scrape' /app/lib/masterview_scraper.rb:112:in `block in scrape_api_period' /app/lib/masterview_scraper/get_applications_api.rb:23:in `block in scrape' /app/lib/masterview_scraper/get_applications_api.rb:60:in `block in scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:54:in `each' /app/lib/masterview_scraper/get_applications_api.rb:54:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' *************************************************** Now retrying authorities which earlier had failures *************************************************** camden: ERROR: 765: unexpected token at '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en-US"> <head> Collecting feed data for gunnedah... <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <title> Authority e-Services - live </title> <link rel="stylesheet" href="/eservice/library/bootstrap-3.4.1.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.structure.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.theme.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/e-services.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/calendar.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/daEnquiry_daEnquiry.css" id="pagecss" type="text/css" media="screen, projection" > <link rel="stylesheet" href="/eservice/library/e-print.css" type="text/css" media="print" > <link rel="stylesheet" href="/eservice/library/header-eserv.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/council/eservice/custom.css" type="text/css" media="screen, projection, print" > <script>var AUTHJS = {};AUTHJS.productName = "i-Services";</script> <script type="text/javascript" src="/eservice/jscalendar-1.0/calendar.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-3.6.0.min.js"></script> <script>AUTHJS.productName = "e-Services";</script> <script type="text/javascript" src="/eservice/javascript/tether-1.3.3.js"></script> <script type="text/javascript" src="/eservice/javascript/modernizr-283.min.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/bootstrap-3.4.1.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-ui.min.js"></script> <script type="text/javascript" src="/eservice/javascript/e-services-page.js"></script> <script type="text/javascript" src="/eservice/javascript/prototype.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.plugins.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.common.init.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.functions.js"></script> <script type="text/javascript" src="/eservice/javascript/util.js"></script> <script type="text/javascript" src="/eservice/javascript/json2.js"></script> <script type="text/javascript" src="/eservice/javascript/effects.js"></script> <script type="text/javascript" src="/eservice/javascript/controls.js"></script> <script type="text/javascript" src="/eservice/javascript/dragdrop.js"></script> <script type="text/javascript" src="/eservice/javascript/lightbox.js"></script> <script type="text/javascript" src="/eservice/javascript/menu.js"></script> <script type="text/javascript" src="/eservice/javascript/menuScroll.js"></script> <script type="text/javascript" src="/eservice/javascript/sitemap.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.imageTickBox.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.metadata.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery.form-3.46.0.js"></script> <link rel="shortcut icon" href="/favicon.ico" /> <script src="/eservice/javascript/da.js" type="text/javascript"></script> <script src="/eservice/javascript/mkTree.js" type="text/javascript"></script> </head> <body > <script type="text/javascript"> var initialTabPage= "null"; jQuery(document).ready(function() { if (initialTabPage != "null") { if (initialTabPage=="sitemap"){ initialTabPage="#sitemap-controller"; } else { initialTabPage="#dashboard-controller"; } jQuery(initialTabPage + " a.tab-clicker").not(".tabs-content *").click(); } }); (function() { var isBootstrapEvent = false; if (window.jQuery) { var all = jQuery('*'); jQuery.each(['hide.bs.dropdown', 'hide.bs.collapse', 'hide.bs.modal', 'hide.bs.tooltip', 'hide.bs.popover', 'hide.bs.tab'], function(index, eventName) { all.on(eventName, function( event ) { isBootstrapEvent = true; }); }); } var originalHide = Element.hide; Element.addMethods({ hide: function(element) { if(isBootstrapEvent) { isBootstrapEvent = false; return element; } return originalHide(element); } }); })(); </script> <!-- eServices --> <div id="page" class=" tabbed not-logged-in"> <div id="masthead" class="navbar navbar-static-top bs-docs-nav"> <div class="container" id="masthead-container"> <div class="navbar-header"> <a class="navbar-brand"> <span>e-Services</span> Camden Council </a> </div> <!-- masthead Quicklinks start --> <div id="wrapper-quick-links"> <ul id="quick-links" class="nav navbar-nav navbar-right"> <li class="top-link-home"> <a href="/eservice/navigationStart.do" id="quick-link-home"> Home </a> </li> <li class="top-link-signin"> <a href="/eservice/logonInit.do" id="quick-link-signin"> Sign In </a> </li> <li class="top-link-user"> <a> <!-- masthead User start --> You are a Guest <!-- masthead User end --> </a> </li> </ul> </div> <!-- masthead Quicklinks end --> </div> <!-- End container --> </div> <!-- End Masthead --> <!-- End Masthead navbar --> <div id="content"> <div class="container" id="content-container"> <div class="row" id="main-row"> <div class="col-sm-3" id="bstrap-leftnav"> <div id="search-results" > </div> <div id="admin-tabs" > <div id="dashboard" class="tabs-content"> <!-- START MENU CONTENT --> <div id="menus-toggle"> <div id="menus-button" class="btn btn-default"> <span id="menus-button-inner"> <a id="menus-button-link" href="#">Hide Menus</a> </span> </div> <div id="site-access" class="menu-on"> <ul id="siteaccesspanel"> <li id="siteaccesspanel_1"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">Menu</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/minimisePanel.do?id=1" title="Minimise Panel" class="panel-min-max" id="panel-min-max-1" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <div id="menu-search"> <form action="/eservice/menu/search.do" class="menu-search-form"> <p> <input type="text" size="15" name="search" id="search" class="field" value="Menu Search" /> <input type="submit" id="menu-search-submit" value="Go" class="buttonCalendar" /> <img src="/eservice/icons/loading.gif" alt="loading" class="loading" id="menu-search-loading" /> </p> <!-- div id="search-autocomplete" class="autocompleter"></div --> </form> <div id="search-results" > </div> </div> <div id="scrollingMenuContainer" class="scrolling-container"> <ul id="navigation"> <li class="nav-return" title="Back one menu level"><a href="/eservice/navigationStart.do" id="node-0"><img src="/eservice/icons/parent.gif" alt="Return to " />Applications</a></li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem" id="node-3374010">Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiry/currentlyAdvertised.do?nodeNum=3374975" class="linkitem" id="node-3374975">On Exhibition</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlySubmitted.do?rangeType=M&rangeFrom=1&rangeTo=0&nodeNum=3374985" class="linkitem" id="node-3374985">Recently Submitted</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlyDetermined.do?num_days=30&nodeNum=3374976" class="linkitem" id="node-3374976">Recently Determined</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=12&nodeNum=3374979" class="linkitem" id="node-3374979">Complying Development Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=11&nodeNum=3374980" class="linkitem" id="node-3374980">Construction Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=14&nodeNum=3374982" class="linkitem" id="node-3374982">Subdivision Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=13&nodeNum=3374986" class="linkitem" id="node-3374986">Occupation Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=16&nodeNum=3374987" class="linkitem" id="node-3374987">Engineering Construction</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=100&nodeNum=3374981" class="linkitem" id="node-3374981">Tree Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=27&nodeNum=3374011" class="linkitem" id="node-3374011">Fire Safety Schedule</a> </li> </ul> </div> </div> </li> <li id="siteaccesspanel_3"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">History</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/movePanel.do?id=2" title="Panel Up" class="panel-up"> <img src="/eservice/icons/panel_move_up.gif" alt="Up" /></a> <a href="/eservice/menu/minimisePanel.do?id=2" title="Minimise Panel" class="panel-min-max" id="panel-min-max-2" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <ul id="recently-used"> <li id="recently-used-0"> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem">Development Application</a> </li> </ul> </div> </li> </ul> <script type="text/javascript"> //Drag n Drop panels Sortable.create('siteaccesspanel', {handle: 'panel-handle', onUpdate:function(){new Ajax.Request(webContextPath + '/resequencePanels.do', {method: 'post', parameters:Sortable.serialize('siteaccesspanel')})}}); </script> <p id="scroll-trigger">15</p> <p id="alternate-scroll-trigger"></p> <p id="pixel-height-base-rate-for-list-item">24</p> </div> </div> </div> </div> </div> <div class="col-sm-9" id="bstrap-main"> <div id="main-content"> <div class="transaction-area" id="transaction-area"></div> <!-- END MENU CONTENT --> <div class="unique-content" id="daEnquiry_daEnquiry"> <div class="daEnquirySpecific" id="daEnquiry_daEnquiryDocumentType10"> <h1> Development Application Enquiry </h1> <div id="leftcontent"> <div class="infopanel"> <!-- CIVICA-INFO-START --> <div id="infopanel-header"> <h4 class="entryHeader" > Instructions </h4> </div> <div id="instructions-content" class="instructions"> <p>Enter some search criteria and select Search. If the search you entered does not yield any results, try broadening the search.</p> <p>When searching by the number, please enter the application number followed by the year, as in the example below.</p> </div> <!-- CIVICA-INFO-END --> </div> </div> <div id="rightcontent"> <div class="bodypanel" id="bodypanel1"> <!-- CIVICA-CONTENT-START:bodypanel1 --> <h2 > Details </h2> <?xml version="1.0" encoding="UTF-8"?> <div> <form action="daEnquiry.do" id="daEnquiryForm" name="daEnquiryForm" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label">DA Number</label> <div class="col-sm-10"> <input type="text" class="text-medium" name="number" id="DANumber" size="10" maxlength="10" errors="DANumber" value="" /> <span class="subText">eg 121/2023</span> </div> </div> <p /> <p class="rowDataOnly"> <span class="rowInfo"> <strong>OR</strong> use any of the following search fields: </span> </p> <p> &nbsp; </p> <h2>Lodgement Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('', '', 'DADateFrom', 'DADateTo')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('11/05/2025','13/05/2025', 'DADateFrom', 'DADateTo')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('04/05/2025','10/05/2025', 'DADateFrom', 'DADateTo')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/05/2025','31/05/2025', 'DADateFrom', 'DADateTo')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/04/2025','30/04/2025', 'DADateFrom', 'DADateTo')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DADate"> <label class="col-sm-2 control-label" for="DADateFrom" id="daFromDateLabel">From</label> <div class="form-inline col-sm-10"> <input type="text" class="datepick text-small form-control" name="dateFrom" id="DADateFrom" style="padding-right: 0px" size="10" maxlength="10" errors="DADateFrom" value="" /> <label for="DADateTo" id="daToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="dateTo" id="DADateTo" style="padding-right: 0px" size="10" maxlength="10" errors="DADateTo" value="" /> </div> </div> </div> <h2>Determination Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('','', 'detDateFromString', 'detDateToString')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('11/05/2025','13/05/2025', 'detDateFromString', 'detDateToString')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('04/05/2025','10/05/2025', 'detDateFromString', 'detDateToString')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/05/2025','31/05/2025', 'detDateFromString', 'detDateToString')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/04/2025','30/04/2025', 'detDateFromString', 'detDateToString')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DetDate"> <label class="col-sm-2 control-label" for="detDateFrom" id="detFromDateLabel">From</label> <div class="form-inline col-sm-10" id="detDateFromInput"> <input type="text" class="datepick text-small form-control" name="detDateFrom" id="detDateFromString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateFrom" value="" /> <label for="detDateTo" id="detToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="detDateTo" id="detDateToString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateTo" value="" /> </div> </div> </div> <h2>Property Details</h2> <div class="form-group" id="streetNameRow"> <label class="control-label col-sm-2" for="streetName">Street Name</label> <div class="col-sm-10"> <input type="text" class="text-large" name="streetName" id="streetName" size="20" onblur="javascript:getHouseNum(); javascript:getSuburb()" value="" /> <div id="streetHints" class="autocompleter"> &nbsp; </div> </div> </div> <div class="form-group" id="suburbDropdownRow"> <label class="control-label col-sm-2" for="suburb">Suburb</label> <div class="col-sm-10"> <div id="suburbSelect"> <select class="select-medium" name="suburb" id="suburb"> <option value="0" selected="selected">- -None Selected- -</option> <option value="2">BICKLEY VALE</option> <option value="1">BRINGELLY</option> <option value="3">CAMDEN</option> <option value="8">CAMDEN SOUTH</option> <option value="4">CATHERINE FIELD</option> <option value="7">CAWDOR</option> <option value="6">COBBITTY</option> <option value="5">CURRANS HILL</option> <option value="9">ELDERSLIE</option> <option value="10">ELLIS LANE</option> <option value="23">GLEDSWOOD HILLS</option> <option value="11">GRASMERE</option> <option value="22">GREGORY HILLS</option> <option value="12">HARRINGTON PARK</option> <option value="13">KIRKHAM</option> <option value="14">LEPPINGTON</option> <option value="24">LEPPINGTON</option> <option value="15">MOUNT ANNAN</option> <option value="16">NARELLAN</option> <option value="17">NARELLAN VALE</option> <option value="18">ORAN PARK</option> <option value="19">ROSSMORE</option> <option value="21">SMEATON GRANGE</option> <option value="20">SPRING FARM</option> <option value="99">UNKNOWN</option> </select> </div> </div> </div> <div class="form-group" id="unitNumberRow"> <label class="control-label col-sm-2" for="unitNum">Unit</label> <div class="col-sm-10"> <input type="text" class="text-mini" name="unitNum" id="unitNum" size="10" value="" /> </div> </div> <div class="form-group" id="houseNumRow"> <label class="control-label col-sm-2" for="houseNum">House No.</label> <div class="col-sm-10"> <div id="houseNumSelect"> <select class="select-medium" name="houseNum" id="houseNum"> <option value="0&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;">- -None Selected- -</option> </select> </div> </div> </div> <div class="form-group" id="planNumberRow"> <label class="control-label col-sm-2" for="planNumber">Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="planNumber" id="planNumber" size="10" value="" /> </div> </div> <div class="form-group" id="strataPlanRow"> <label class="control-label col-sm-2" for="strataPlan">Strata Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="strataPlan" id="strataPlan" size="10" value="" /> </div> </div> <div class="form-group" id="lotRow"> <label class="control-label col-sm-2" for="lotNumber">Lot</label> <div class="col-sm-10"> <input type="text" class="text-small" name="lotNumber" id="lotNumber" size="10" value="" /> </div> </div> <div class="form-group" id="propertyNameRow"> <label class="control-label col-sm-2" for="propertyName">Place</label> <div class="col-sm-10"> <input type="text" class="text-large" name="propertyName" id="propertyName" size="20" value="" /> </div> </div> <p class="rowDataOnly"> <span class="rowInfo"> <strong>AND</strong> the following search field: </span> </p> <p> &nbsp; </p> <h2>Options</h2> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="A" id="searchModeA" checked="checked" /> <span class="indicator" /> All DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="D" id="searchModeD" /> <span class="indicator" /> Determined DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="P" id="searchModeP" /> <span class="indicator" /> DAs Awaiting Decision </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="C" id="searchModeC" /> <span class="indicator" /> On Exhibition </label> <div class="button-panel"> <input type="submit" name="submitButton" class="button" value="Search" onclick="javascript:checkDetDatesMakeSense()" /> <input type="button" name="clearButton" class="button" value="Clear" onclick="javascript:clearDaEnquiryFields()" /> </div> </form> </div> <!-- CIVICA-CONTENT-END:bodypanel1 --> </div> </div> </div> </div> </div> </div> </div> </div> <!-- container --> </div> <!-- content --> <div id="bottom" class="tabbed"> <div class="container" id="bottom-container"> <div class="row"> <div class="footer"> <p>&#169; Camden Council 2018 </p> <p id="web-context-path">/eservice</p> </div> </div> </div> </div> </div> <!-- End page div --> <!-- End Bootstrap eServices --> <!-- iServices --> </body> </html> ' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/lib/masterview_scraper/get_applications_api.rb:50:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' gunnedah: ERROR: execution expired Collecting feed data for fraser_coast... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for hawkesbury... fraser_coast: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (unable to get local issuer certificate) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for toowoomba... hawkesbury: ERROR: Failed to open TCP connection to datrack.hawkesbury.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for bundaberg... toowoomba: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (ok) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for wingecarribee... bundaberg: ERROR: 403 => Net::HTTPForbidden for https://da.bundaberg.qld.gov.au/ -- unhandled response /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:329:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for albury... wingecarribee: ERROR: Failed to open TCP connection to datracker.wsc.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for bogan... albury: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for port_macquarie_hastings... bogan: ERROR: Failed to open TCP connection to datracker.bogan.nsw.gov.au:81 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' port_macquarie_hastings: ERROR: execution expired Collecting feed data for port_stephens... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for singleton... port_stephens: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Saving record 8.2025.100.1 - 4 Ardersier Dr, Singleton NSW 2330 Saving record 8.2025.111.1 - 656 Milbrodale Rd, Fordwich NSW 2330 Saving record 8.2023.186.3 - 9 Rosedale Cl, Mcdougalls Hill NSW 2330 Saving record 8.2025.95.1 - Kannar Rd, Mount Thorley NSW 2330 Saving record 8.2025.115.1 - 56 Pin Oak Cct, Branxton NSW 2335 Saving record 8.2025.108.1 - 41 Broomfield Cres, Hunterview NSW 2330 Saving record 10.2025.93.1 - 4 Druce Smith Pl, Wattle Ponds NSW 2330 Collecting feed data for camden... singleton: ERROR: Unknown value of determination type: Action Completed /app/lib/masterview_scraper/pages/detail.rb:226:in `scrape_new_version' /app/lib/masterview_scraper/pages/detail.rb:12:in `scrape' /app/lib/masterview_scraper.rb:112:in `block in scrape_api_period' /app/lib/masterview_scraper/get_applications_api.rb:23:in `block in scrape' /app/lib/masterview_scraper/get_applications_api.rb:60:in `block in scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:54:in `each' /app/lib/masterview_scraper/get_applications_api.rb:54:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' camden: ERROR: 765: unexpected token at '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en-US"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <title> Authority e-Services - live </title> <link rel="stylesheet" href="/eservice/library/bootstrap-3.4.1.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.structure.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.theme.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/e-services.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/calendar.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/daEnquiry_daEnquiry.css" id="pagecss" type="text/css" media="screen, projection" > <link rel="stylesheet" href="/eservice/library/e-print.css" type="text/css" media="print" > <link rel="stylesheet" href="/eservice/library/header-eserv.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/council/eservice/custom.css" type="text/css" media="screen, projection, print" > <script>var AUTHJS = {};AUTHJS.productName = "i-Services";</script> <script type="text/javascript" src="/eservice/jscalendar-1.0/calendar.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-3.6.0.min.js"></script> <script>AUTHJS.productName = "e-Services";</script> <script type="text/javascript" src="/eservice/javascript/tether-1.3.3.js"></script> <script type="text/javascript" src="/eservice/javascript/modernizr-283.min.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/bootstrap-3.4.1.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-ui.min.js"></script> <script type="text/javascript" src="/eservice/javascript/e-services-page.js"></script> <script type="text/javascript" src="/eservice/javascript/prototype.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.plugins.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.common.init.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.functions.js"></script> <script type="text/javascript" src="/eservice/javascript/util.js"></script> <script type="text/javascript" src="/eservice/javascript/json2.js"></script> <script type="text/javascript" src="/eservice/javascript/effects.js"></script> <script type="text/javascript" src="/eservice/javascript/controls.js"></script> <script type="text/javascript" src="/eservice/javascript/dragdrop.js"></script> <script type="text/javascript" src="/eservice/javascript/lightbox.js"></script> <script type="text/javascript" src="/eservice/javascript/menu.js"></script> <script type="text/javascript" src="/eservice/javascript/menuScroll.js"></script> <script type="text/javascript" src="/eservice/javascript/sitemap.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.imageTickBox.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.metadata.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery.form-3.46.0.js"></script> <link rel="shortcut icon" href="/favicon.ico" /> <script src="/eservice/javascript/da.js" type="text/javascript"></script> <script src="/eservice/javascript/mkTree.js" type="text/javascript"></script> </head> <body > <script type="text/javascript"> var initialTabPage= "null"; jQuery(document).ready(function() { if (initialTabPage != "null") { if (initialTabPage=="sitemap"){ initialTabPage="#sitemap-controller"; } else { initialTabPage="#dashboard-controller"; } jQuery(initialTabPage + " a.tab-clicker").not(".tabs-content *").click(); } }); (function() { var isBootstrapEvent = false; if (window.jQuery) { var all = jQuery('*'); jQuery.each(['hide.bs.dropdown', 'hide.bs.collapse', 'hide.bs.modal', 'hide.bs.tooltip', 'hide.bs.popover', 'hide.bs.tab'], function(index, eventName) { all.on(eventName, function( event ) { isBootstrapEvent = true; }); }); } var originalHide = Element.hide; Element.addMethods({ hide: function(element) { if(isBootstrapEvent) { isBootstrapEvent = false; return element; } return originalHide(element); } }); })(); </script> <!-- eServices --> <div id="page" class=" tabbed not-logged-in"> <div id="masthead" class="navbar navbar-static-top bs-docs-nav"> <div class="container" id="masthead-container"> <div class="navbar-header"> <a class="navbar-brand"> <span>e-Services</span> Camden Council </a> </div> <!-- masthead Quicklinks start --> <div id="wrapper-quick-links"> <ul id="quick-links" class="nav navbar-nav navbar-right"> <li class="top-link-home"> <a href="/eservice/navigationStart.do" id="quick-link-home"> Home </a> </li> <li class="top-link-signin"> <a href="/eservice/logonInit.do" id="quick-link-signin"> Sign In </a> </li> <li class="top-link-user"> <a> <!-- masthead User start --> You are a Guest <!-- masthead User end --> </a> </li> </ul> </div> <!-- masthead Quicklinks end --> </div> <!-- End container --> </div> <!-- End Masthead --> <!-- End Masthead navbar --> <div id="content"> <div class="container" id="content-container"> <div class="row" id="main-row"> <div class="col-sm-3" id="bstrap-leftnav"> <div id="search-results" > </div> <div id="admin-tabs" > <div id="dashboard" class="tabs-content"> <!-- START MENU CONTENT --> <div id="menus-toggle"> <div id="menus-button" class="btn btn-default"> <span id="menus-button-inner"> <a id="menus-button-link" href="#">Hide Menus</a> </span> </div> <div id="site-access" class="menu-on"> <ul id="siteaccesspanel"> <li id="siteaccesspanel_1"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">Menu</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/minimisePanel.do?id=1" title="Minimise Panel" class="panel-min-max" id="panel-min-max-1" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <div id="menu-search"> <form action="/eservice/menu/search.do" class="menu-search-form"> <p> <input type="text" size="15" name="search" id="search" class="field" value="Menu Search" /> <input type="submit" id="menu-search-submit" value="Go" class="buttonCalendar" /> <img src="/eservice/icons/loading.gif" alt="loading" class="loading" id="menu-search-loading" /> </p> <!-- div id="search-autocomplete" class="autocompleter"></div --> </form> <div id="search-results" > </div> </div> <div id="scrollingMenuContainer" class="scrolling-container"> <ul id="navigation"> <li class="nav-return" title="Back one menu level"><a href="/eservice/navigationStart.do" id="node-0"><img src="/eservice/icons/parent.gif" alt="Return to " />Applications</a></li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem" id="node-3374010">Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiry/currentlyAdvertised.do?nodeNum=3374975" class="linkitem" id="node-3374975">On Exhibition</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlySubmitted.do?rangeType=M&rangeFrom=1&rangeTo=0&nodeNum=3374985" class="linkitem" id="node-3374985">Recently Submitted</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlyDetermined.do?num_days=30&nodeNum=3374976" class="linkitem" id="node-3374976">Recently Determined</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=12&nodeNum=3374979" class="linkitem" id="node-3374979">Complying Development Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=11&nodeNum=3374980" class="linkitem" id="node-3374980">Construction Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=14&nodeNum=3374982" class="linkitem" id="node-3374982">Subdivision Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=13&nodeNum=3374986" class="linkitem" id="node-3374986">Occupation Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=16&nodeNum=3374987" class="linkitem" id="node-3374987">Engineering Construction</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=100&nodeNum=3374981" class="linkitem" id="node-3374981">Tree Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=27&nodeNum=3374011" class="linkitem" id="node-3374011">Fire Safety Schedule</a> </li> </ul> </div> </div> </li> <li id="siteaccesspanel_3"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">History</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/movePanel.do?id=2" title="Panel Up" class="panel-up"> <img src="/eservice/icons/panel_move_up.gif" alt="Up" /></a> <a href="/eservice/menu/minimisePanel.do?id=2" title="Minimise Panel" class="panel-min-max" id="panel-min-max-2" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <ul id="recently-used"> <li id="recently-used-0"> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem">Development Application</a> </li> </ul> </div> </li> </ul> <script type="text/javascript"> //Drag n Drop panels Sortable.create('siteaccesspanel', {handle: 'panel-handle', onUpdate:function(){new Ajax.Request(webContextPath + '/resequencePanels.do', {method: 'post', parameters:Sortable.serialize('siteaccesspanel')})}}); </script> <p id="scroll-trigger">15</p> <p id="alternate-scroll-trigger"></p> <p id="pixel-height-base-rate-for-list-item">24</p> </div> </div> </div> </div> </div> <div class="col-sm-9" id="bstrap-main"> <div id="main-content"> <div class="transaction-area" id="transaction-area"></div> <!-- END MENU CONTENT --> <div class="unique-content" id="daEnquiry_daEnquiry"> <div class="daEnquirySpecific" id="daEnquiry_daEnquiryDocumentType10"> <h1> Development Application Enquiry </h1> <div id="leftcontent"> <div class="infopanel"> <!-- CIVICA-INFO-START --> <div id="infopanel-header"> <h4 class="entryHeader" > Instructions </h4> </div> <div id="instructions-content" class="instructions"> <p>Enter some search criteria and select Search. If the search you entered does not yield any results, try broadening the search.</p> <p>When searching by the number, please enter the application number followed by the year, as in the example below.</p> </div> <!-- CIVICA-INFO-END --> </div> </div> <div id="rightcontent"> <div class="bodypanel" id="bodypanel1"> <!-- CIVICA-CONTENT-START:bodypanel1 --> <h2 > Details </h2> <?xml version="1.0" encoding="UTF-8"?> <div> <form action="daEnquiry.do" id="daEnquiryForm" name="daEnquiryForm" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label">DA Number</label> <div class="col-sm-10"> <input type="text" class="text-medium" name="number" id="DANumber" size="10" maxlength="10" errors="DANumber" value="" /> <span class="subText">eg 121/2023</span> </div> </div> <p /> <p class="rowDataOnly"> <span class="rowInfo"> <strong>OR</strong> use any of the following search fields: </span> </p> <p> &nbsp; </p> <h2>Lodgement Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('', '', 'DADateFrom', 'DADateTo')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('11/05/2025','13/05/2025', 'DADateFrom', 'DADateTo')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('04/05/2025','10/05/2025', 'DADateFrom', 'DADateTo')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/05/2025','31/05/2025', 'DADateFrom', 'DADateTo')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/04/2025','30/04/2025', 'DADateFrom', 'DADateTo')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DADate"> <label class="col-sm-2 control-label" for="DADateFrom" id="daFromDateLabel">From</label> <div class="form-inline col-sm-10"> <input type="text" class="datepick text-small form-control" name="dateFrom" id="DADateFrom" style="padding-right: 0px" size="10" maxlength="10" errors="DADateFrom" value="" /> <label for="DADateTo" id="daToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="dateTo" id="DADateTo" style="padding-right: 0px" size="10" maxlength="10" errors="DADateTo" value="" /> </div> </div> </div> <h2>Determination Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('','', 'detDateFromString', 'detDateToString')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('11/05/2025','13/05/2025', 'detDateFromString', 'detDateToString')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('04/05/2025','10/05/2025', 'detDateFromString', 'detDateToString')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/05/2025','31/05/2025', 'detDateFromString', 'detDateToString')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/04/2025','30/04/2025', 'detDateFromString', 'detDateToString')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DetDate"> <label class="col-sm-2 control-label" for="detDateFrom" id="detFromDateLabel">From</label> <div class="form-inline col-sm-10" id="detDateFromInput"> <input type="text" class="datepick text-small form-control" name="detDateFrom" id="detDateFromString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateFrom" value="" /> <label for="detDateTo" id="detToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="detDateTo" id="detDateToString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateTo" value="" /> </div> </div> </div> <h2>Property Details</h2> <div class="form-group" id="streetNameRow"> <label class="control-label col-sm-2" for="streetName">Street Name</label> <div class="col-sm-10"> <input type="text" class="text-large" name="streetName" id="streetName" size="20" onblur="javascript:getHouseNum(); javascript:getSuburb()" value="" /> <div id="streetHints" class="autocompleter"> &nbsp; </div> </div> </div> <div class="form-group" id="suburbDropdownRow"> <label class="control-label col-sm-2" for="suburb">Suburb</label> <div class="col-sm-10"> <div id="suburbSelect"> <select class="select-medium" name="suburb" id="suburb"> <option value="0" selected="selected">- -None Selected- -</option> <option value="2">BICKLEY VALE</option> <option value="1">BRINGELLY</option> <option value="3">CAMDEN</option> <option value="8">CAMDEN SOUTH</option> <option value="4">CATHERINE FIELD</option> <option value="7">CAWDOR</option> <option value="6">COBBITTY</option> <option value="5">CURRANS HILL</option> <option value="9">ELDERSLIE</option> <option value="10">ELLIS LANE</option> <option value="23">GLEDSWOOD HILLS</option> <option value="11">GRASMERE</option> <option value="22">GREGORY HILLS</option> <option value="12">HARRINGTON PARK</option> <option value="13">KIRKHAM</option> <option value="14">LEPPINGTON</option> <option value="24">LEPPINGTON</option> <option value="15">MOUNT ANNAN</option> <option value="16">NARELLAN</option> <option value="17">NARELLAN VALE</option> <option value="18">ORAN PARK</option> <option value="19">ROSSMORE</option> <option value="21">SMEATON GRANGE</option> <option value="20">SPRING FARM</option> <option value="99">UNKNOWN</option> </select> </div> </div> </div> <div class="form-group" id="unitNumberRow"> <label class="control-label col-sm-2" for="unitNum">Unit</label> <div class="col-sm-10"> <input type="text" class="text-mini" name="unitNum" id="unitNum" size="10" value="" /> </div> </div> <div class="form-group" id="houseNumRow"> <label class="control-label col-sm-2" for="houseNum">House No.</label> <div class="col-sm-10"> <div id="houseNumSelect"> <select class="select-medium" name="houseNum" id="houseNum"> <option value="0&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;">- -None Selected- -</option> </select> </div> </div> </div> <div class="form-group" id="planNumberRow"> <label class="control-label col-sm-2" for="planNumber">Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="planNumber" id="planNumber" size="10" value="" /> </div> </div> <div class="form-group" id="strataPlanRow"> <label class="control-label col-sm-2" for="strataPlan">Strata Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="strataPlan" id="strataPlan" size="10" value="" /> </div> </div> <div class="form-group" id="lotRow"> <label class="control-label col-sm-2" for="lotNumber">Lot</label> <div class="col-sm-10"> <input type="text" class="text-small" name="lotNumber" id="lotNumber" size="10" value="" /> </div> </div> <div class="form-group" id="propertyNameRow"> <label class="control-label col-sm-2" for="propertyName">Place</label> <div class="col-sm-10"> <input type="text" class="text-large" name="propertyName" id="propertyName" size="20" value="" /> </div> </div> <p class="rowDataOnly"> <span class="rowInfo"> <strong>AND</strong> the following search field: </span> </p> <p> &nbsp; </p> <h2>Options</h2> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="A" id="searchModeA" checked="checked" /> <span class="indicator" /> All DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="D" id="searchModeD" /> <span class="indicator" /> Determined DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="P" id="searchModeP" /> <span class="indicator" /> DAs Awaiting Decision </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="C" id="searchModeC" /> <span class="indicator" /> On Exhibition </label> <div class="button-panel"> <input type="submit" name="submitButton" class="button" value="Search" onclick="javascript:checkDetDatesMakeSense()" /> <input type="button" name="clearButton" class="button" value="Clear" onclick="javascript:clearDaEnquiryFields()" /> </div> </form> </div> <!-- CIVICA-CONTENT-END:bodypanel1 --> </div> </div> </div> </div> </div> </div> </div> </div> <!-- container --> </div> <!-- content --> <div id="bottom" class="tabbed"> <div class="container" id="bottom-container"> <div class="row"> <div class="footer"> <p>&#169; Camden Council 2018 </p> <p id="web-context-path">/eservice</p> </div> </div> </div> </div> </div> <!-- End page div --> <!-- End Bootstrap eServices --> <!-- iServices --> </body> </html> ' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/lib/masterview_scraper/get_applications_api.rb:50:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' scraper.rb:43:in `<main>': There were errors with the following authorities: [:gunnedah, :fraser_coast, :hawkesbury, :toowoomba, :bundaberg, :wingecarribee, :albury, :bogan, :port_macquarie_hastings, :port_stephens, :singleton, :camden]. See earlier output for details (RuntimeError)

Data

Downloaded 86 times by dcalde AndreM101 muzzie86 jamasalbertastash studiology repose-lecture

To download data sign in with GitHub

Download table (as CSV) Download SQLite database (19 MB) Use the API

rows 10 / 49617

council_reference address description info_url date_scraped date_received authority_label
10-2021-16-1
2 Angus St, Forbes 2871 NSW
New Garages/Sheds - Industrial
2021-03-16
2021-02-22
forbes
10-2021-15-1
613 Wongajong Rd, Forbes 2871 NSW
New Single Dwelling
2021-03-16
2021-02-18
forbes
10-2021-13-1
1829 Lachlan Valley Wy, Jemalong 2871 NSW
New Single Dwelling
2021-03-16
2021-02-15
forbes
10-2021-14-1
131A Wambat St, Forbes 2871 NSW
New Ancillary Residential Development - Shed
2021-03-16
2021-02-16
forbes
10-2017-80-3
33-37 Sam St, Forbes 2871 NSW
New Commercial Building
2021-03-16
2021-03-03
forbes
10-2021-19-1
36A William St, Forbes 2871 NSW
Patio Cover
2021-03-16
2021-03-05
forbes
10-2021-20-1
2 Rae St, Forbes 2871 NSW
New Ancillary Residential Development-Shed/Carport
2021-03-16
2021-03-05
forbes
10-2021-18-1
12 Acacia Ave, Forbes 2871 NSW
New Ancillary Residential Development-Shed
2021-03-16
2021-03-02
forbes
10-2021-17-1
10 Thelma St, Forbes 2871 NSW
New Ancillary Residential Development - Shed
2021-03-16
2021-03-02
forbes
10-2021-1-1
Ooma St, Forbes 2871 NSW
Ancillary Residential Development - Awning
2021-03-16
2021-02-25
forbes

Statistics

Average successful run time: about 7 hours

Total run time: 2 months

Total cpu time used: about 4 hours

Total disk space used: 145 MB

History

  • Auto ran revision 028c1c13 and failed .
    137 records added, 127 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    126 records added, 112 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    120 records added, 120 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    127 records added, 122 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    193 records added, 191 records removed in the database
  • ...
  • Created on morph.io

Show complete history

Scraper code

Ruby

multiple_masterview / scraper.rb