From 1c9287e6c914081caf8c739703f7d3fee724addd Mon Sep 17 00:00:00 2001 From: Jez Nicholson Date: Mon, 25 Feb 2019 09:15:20 +0000 Subject: [PATCH 1/7] get details by planning reference (Idox) UKPlanningScraper::Authority.named('xyz').reference('2016/nnn/abc').scrape --- lib/uk_planning_scraper/authorities.csv | 6 + .../authority_scrape_params.rb | 6 + lib/uk_planning_scraper/idox.rb | 131 ++++++++++-------- 3 files changed, 86 insertions(+), 57 deletions(-) diff --git a/lib/uk_planning_scraper/authorities.csv b/lib/uk_planning_scraper/authorities.csv index 095d9c3..790acc3 100644 --- a/lib/uk_planning_scraper/authorities.csv +++ b/lib/uk_planning_scraper/authorities.csv @@ -1,8 +1,10 @@ authority_name,url,tags Aberdeen,https://publicaccess.aberdeencity.gov.uk/online-applications/search.do?action=advanced,scotland +Aberdeenshire,https://upa.aberdeenshire.gov.uk/online-applications/search.do?action=advanced,scotland Adur and Worthing,https://planning.adur-worthing.gov.uk/online-applications/search.do?action=advanced,england Allerdale,https://planning.allerdale.gov.uk/portal/servlets/ApplicationSearchServlet,england Amber Valley,https://www.ambervalley.gov.uk/environment-and-planning/planning/development-management/planning-applications/view-a-planning-application.aspx,england +Argyll and Bute,https://publicaccess.argyll-bute.gov.uk/online-applications/search.do?action=advanced,scotland Arun,https://www.arun.gov.uk/weekly-lists,england Ashfield,https://www2.ashfield.gov.uk/cfusion/Planning/plan_findfile.cfm,england Ashford,http://planning.ashford.gov.uk/planning/Default.aspx?new=true,england @@ -32,6 +34,7 @@ Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=ad County Durham,https://publicaccess.durham.gov.uk/online-applications/search.do?action=advanced,england Darlington,https://publicaccess.darlington.gov.uk/online-applications/search.do?action=advanced,england Doncaster,https://planning.doncaster.gov.uk/online-applications/search.do?action=advanced,england southyorkshire +Dumfries and Galloway,https://eaccess.dumgal.gov.uk/online-applications/search.do?action=advanced,scotland Ealing,https://pam.ealing.gov.uk/online-applications/search.do?action=advanced,londonboroughs london East Riding of Yorkshire,https://newplanningaccess.eastriding.gov.uk/newplanningaccess/search.do?action=advanced,england Edinburgh,https://citydev-portal.edinburgh.gov.uk/idoxpa-web/search.do?action=advanced,scotland @@ -46,6 +49,7 @@ Haringey,http://www.planningservices.haringey.gov.uk/portal/servlets/Application Harrow,http://www.harrow.gov.uk/planningsearch/lg/plansearch.page?org.apache.shale.dialog.DIALOG_NAME=planningsearch&Param=lg.Planning&searchType=detailed,london londonboroughs Havering,http://development.havering.gov.uk/OcellaWeb/planningSearch,london londonboroughs eastlondon outerlondon Hillingdon,http://planning.hillingdon.gov.uk/OcellaWeb/planningSearch,london londonboroughs westlondon outerlondon +Highland,https://wam.highland.gov.uk/wam/search.do?action=advanced,scotland Hounslow,http://planning.hounslow.gov.uk/planning_search.aspx,london londonboroughs Hull,https://www.hullcc.gov.uk/padcbc/publicaccess-live/search.do?action=advanced,england Islington,http://planning.islington.gov.uk/northgate/planningexplorer/generalsearch.aspx,londonboroughs london @@ -62,6 +66,7 @@ Merton,http://planning.merton.gov.uk/Northgate/PlanningExplorerAA/GeneralSearch. Milton Keynes,https://publicaccess2.milton-keynes.gov.uk/online-applications/search.do?action=advanced,england Newcastle upon Tyne,https://publicaccessapplications.newcastle.gov.uk/online-applications/search.do?action=advanced,england tyneandwear Newham,https://pa.newham.gov.uk/online-applications/search.do?action=advanced,londonboroughs london londonboroughs +North Ayrshire,https://www.eplanning.north-ayrshire.gov.uk/OnlinePlanning/search.do?action=advanced,scotland North East Lincolnshire,http://planninganddevelopment.nelincs.gov.uk/online-applications/search.do?action=advanced,england North Lincolnshire,http://www.planning.northlincs.gov.uk/plan/search/,england North Somerset,https://planning.n-somerset.gov.uk/online-applications/search.do?action=advanced,england @@ -75,6 +80,7 @@ Peterborough,https://planpa.peterborough.gov.uk/online-applications/search.do?ac Plymouth,https://planning.plymouth.gov.uk/online-applications/search.do?action=advanced,england Poole,https://boppa.poole.gov.uk/online-applications/search.do?action=advanced,england Portsmouth,http://publicaccess.portsmouth.gov.uk/online-applications/search.do?action=advanced,england +Purbeck,https://planningsearch.purbeck-dc.gov.uk/PlanAppSrch.aspx,england Redbridge,http://planning.redbridge.gov.uk/swiftlg/apas/run/wphappcriteria.display,london londonboroughs Richmond,http://www2.richmond.gov.uk/PlanData2/Planning_Report.aspx,london londonboroughs Rochdale,http://publicaccess.rochdale.gov.uk/online-applications/search.do?action=advanced,england greatermanchester diff --git a/lib/uk_planning_scraper/authority_scrape_params.rb b/lib/uk_planning_scraper/authority_scrape_params.rb index 819c6e2..6ca27d6 100644 --- a/lib/uk_planning_scraper/authority_scrape_params.rb +++ b/lib/uk_planning_scraper/authority_scrape_params.rb @@ -51,6 +51,12 @@ module UKPlanningScraper self end + def reference(s) + check_class(s, String) + @scrape_params[:reference] = s.strip + self + end + def applicant_name(s) unless system == 'idox' raise NoMethodError.new("applicant_name is only implemented for Idox. \ diff --git a/lib/uk_planning_scraper/idox.rb b/lib/uk_planning_scraper/idox.rb index 20cd434..86d0390 100644 --- a/lib/uk_planning_scraper/idox.rb +++ b/lib/uk_planning_scraper/idox.rb @@ -41,6 +41,7 @@ module UKPlanningScraper form.send(:"date(applicationDecisionStart)", params[:decided_from].strftime(date_format)) if params[:decided_from] form.send(:"date(applicationDecisionEnd)", params[:decided_to].strftime(date_format)) if params[:decided_to] + form.send(:"searchCriteria\.reference", params[:reference]) form.send(:"searchCriteria\.description", params[:keywords]) # Some councils don't have the applicant name on their form, eg Bexley @@ -115,68 +116,84 @@ module UKPlanningScraper if res.code == '200' # That's a String not an Integer, ffs # Parse the summary tab for this app - - app.scraped_at = Time.now - - # The Documents tab doesn't show if there are no documents (we get li.nodocuments instead) - # Bradford has #tab_documents but without the document count on it - app.documents_count = 0 - - if documents_link = res.at('.associateddocument a') - if documents_link.inner_text.match(/\d+/) - app.documents_count = documents_link.inner_text.match(/\d+/)[0].to_i - app.documents_url = base_url + documents_link[:href] - end - elsif documents_link = res.at('#tab_documents') - if documents_link.inner_text.match(/\d+/) - app.documents_count = documents_link.inner_text.match(/\d+/)[0].to_i - app.documents_url = base_url + documents_link[:href] - end - end - - # We need to find values in the table by using the th labels. - # The row indexes/positions change from site to site (or even app to app) so we can't rely on that. - - res.search('#simpleDetailsTable tr').each do |row| - key = row.at('th').inner_text.strip - value = row.at('td').inner_text.strip - - case key - when 'Reference' - app.council_reference = value - when 'Alternative Reference' - app.alternative_reference = value unless value.empty? - when 'Planning Portal Reference' - app.alternative_reference = value unless value.empty? - when 'Application Received' - app.date_received = Date.parse(value) if value.match(/\d/) - when 'Application Registered' - app.date_received = Date.parse(value) if value.match(/\d/) - when 'Application Validated' - app.date_validated = Date.parse(value) if value.match(/\d/) - when 'Address' - app.address = value unless value.empty? - when 'Proposal' - app.description = value unless value.empty? - when 'Status' - app.status = value unless value.empty? - when 'Decision' - app.decision = value unless value.empty? - when 'Decision Issued Date' - app.date_decision = Date.parse(value) if value.match(/\d/) - when 'Appeal Status' - app.appeal_status = value unless value.empty? - when 'Appeal Decision' - app.appeal_decision = value unless value.empty? - else - puts "Error: key '#{key}' not found" - end # case - end # each row + parse_summary(app, res) else puts "Error: HTTP #{res.code}" end # if end # scrape summary tab for apps + + if apps == [] && page.search('pa') + puts "# direct hit!" + app = Application.new + parse_summary(app, page) + apps << app + end # direct hit apps end # scrape_idox + + def parse_summary(app, res) + base_url = @url.match(/(https?:\/\/.+?)\//)[1] + + app.scraped_at = Time.now + + unless app.info_url + key_val = res.link_with(id: 'tab_summary')&.href + app.info_url = "#{base_url}#{key_val}" + end + + # The Documents tab doesn't show if there are no documents (we get li.nodocuments instead) + # Bradford has #tab_documents but without the document count on it + app.documents_count = 0 + + if documents_link = res.at('.associateddocument a') + if documents_link.inner_text.match(/\d+/) + app.documents_count = documents_link.inner_text.match(/\d+/)[0].to_i + app.documents_url = base_url + documents_link[:href] + end + elsif documents_link = res.at('#tab_documents') + if documents_link.inner_text.match(/\d+/) + app.documents_count = documents_link.inner_text.match(/\d+/)[0].to_i + app.documents_url = base_url + documents_link[:href] + end + end + + # We need to find values in the table by using the th labels. + # The row indexes/positions change from site to site (or even app to app) so we can't rely on that. + res.search('#simpleDetailsTable tr').each do |row| + key = row.at('th').inner_text.strip + value = row.at('td').inner_text.strip + + case key + when 'Reference' + app.council_reference = value + when 'Alternative Reference' + app.alternative_reference = value unless value.empty? + when 'Planning Portal Reference' + app.alternative_reference = value unless value.empty? + when 'Application Received' + app.date_received = Date.parse(value) if value.match(/\d/) + when 'Application Registered' + app.date_received = Date.parse(value) if value.match(/\d/) + when 'Application Validated' + app.date_validated = Date.parse(value) if value.match(/\d/) + when 'Address' + app.address = value unless value.empty? + when 'Proposal' + app.description = value unless value.empty? + when 'Status' + app.status = value unless value.empty? + when 'Decision' + app.decision = value unless value.empty? + when 'Decision Issued Date' + app.date_decision = Date.parse(value) if value.match(/\d/) + when 'Appeal Status' + app.appeal_status = value unless value.empty? + when 'Appeal Decision' + app.appeal_decision = value unless value.empty? + else + puts "Error: key '#{key}' not found" + end # case + end + end end # class end From ee942675e94edf865abf3ed3b9539c11d6f0923a Mon Sep 17 00:00:00 2001 From: Jez Nicholson Date: Thu, 28 Feb 2019 08:08:38 +0000 Subject: [PATCH 2/7] add Craven District Council --- lib/uk_planning_scraper/authorities.csv | 1 + lib/uk_planning_scraper/idox.rb | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/uk_planning_scraper/authorities.csv b/lib/uk_planning_scraper/authorities.csv index 790acc3..cebfc78 100644 --- a/lib/uk_planning_scraper/authorities.csv +++ b/lib/uk_planning_scraper/authorities.csv @@ -32,6 +32,7 @@ City of London,http://www.planning2.cityoflondon.gov.uk/online-applications/sear Croydon,http://publicaccess2.croydon.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england County Durham,https://publicaccess.durham.gov.uk/online-applications/search.do?action=advanced,england +Craven,https://publicaccess.cravendc.gov.uk/online-applications/search.do?action=advanced,england Darlington,https://publicaccess.darlington.gov.uk/online-applications/search.do?action=advanced,england Doncaster,https://planning.doncaster.gov.uk/online-applications/search.do?action=advanced,england southyorkshire Dumfries and Galloway,https://eaccess.dumgal.gov.uk/online-applications/search.do?action=advanced,scotland diff --git a/lib/uk_planning_scraper/idox.rb b/lib/uk_planning_scraper/idox.rb index 86d0390..0d9ac5e 100644 --- a/lib/uk_planning_scraper/idox.rb +++ b/lib/uk_planning_scraper/idox.rb @@ -123,7 +123,6 @@ module UKPlanningScraper end # scrape summary tab for apps if apps == [] && page.search('pa') - puts "# direct hit!" app = Application.new parse_summary(app, page) apps << app From 0a897805ac28ac3be9fd2bb18664edb0cbbe840d Mon Sep 17 00:00:00 2001 From: Jez Nicholson Date: Fri, 1 Mar 2019 08:11:52 +0000 Subject: [PATCH 3/7] use :council_reference --- lib/uk_planning_scraper/authorities.csv | 2 ++ lib/uk_planning_scraper/authority_scrape_params.rb | 4 ++-- lib/uk_planning_scraper/idox.rb | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/uk_planning_scraper/authorities.csv b/lib/uk_planning_scraper/authorities.csv index cebfc78..307845f 100644 --- a/lib/uk_planning_scraper/authorities.csv +++ b/lib/uk_planning_scraper/authorities.csv @@ -29,6 +29,7 @@ Camden,http://planningrecords.camden.gov.uk/Northgate/PlanningExplorer17/General Cardiff,https://planningonline.cardiff.gov.uk/online-applications/search.do?action=advanced,wales Cheshire West and Chester,https://pa.cheshirewestandchester.gov.uk/online-applications/search.do?action=advanced,chester cheshire england City of London,http://www.planning2.cityoflondon.gov.uk/online-applications/search.do?action=advanced,london innerlondon northlondon england +Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england Croydon,http://publicaccess2.croydon.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england County Durham,https://publicaccess.durham.gov.uk/online-applications/search.do?action=advanced,england @@ -38,6 +39,7 @@ Doncaster,https://planning.doncaster.gov.uk/online-applications/search.do?action Dumfries and Galloway,https://eaccess.dumgal.gov.uk/online-applications/search.do?action=advanced,scotland Ealing,https://pam.ealing.gov.uk/online-applications/search.do?action=advanced,londonboroughs london East Riding of Yorkshire,https://newplanningaccess.eastriding.gov.uk/newplanningaccess/search.do?action=advanced,england +East Lothian,https://pa.eastlothian.gov.uk/online-applications/search.do?action=advanced,scotland Edinburgh,https://citydev-portal.edinburgh.gov.uk/idoxpa-web/search.do?action=advanced,scotland Enfield,https://planningandbuildingcontrol.enfield.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Epsom and Ewell,http://eplanning.epsom-ewell.gov.uk/online-applications/search.do?action=advanced,surrey england diff --git a/lib/uk_planning_scraper/authority_scrape_params.rb b/lib/uk_planning_scraper/authority_scrape_params.rb index 6ca27d6..df69ec9 100644 --- a/lib/uk_planning_scraper/authority_scrape_params.rb +++ b/lib/uk_planning_scraper/authority_scrape_params.rb @@ -51,9 +51,9 @@ module UKPlanningScraper self end - def reference(s) + def council_reference(s) check_class(s, String) - @scrape_params[:reference] = s.strip + @scrape_params[:council_reference] = s.strip self end diff --git a/lib/uk_planning_scraper/idox.rb b/lib/uk_planning_scraper/idox.rb index 0d9ac5e..f010b43 100644 --- a/lib/uk_planning_scraper/idox.rb +++ b/lib/uk_planning_scraper/idox.rb @@ -41,7 +41,7 @@ module UKPlanningScraper form.send(:"date(applicationDecisionStart)", params[:decided_from].strftime(date_format)) if params[:decided_from] form.send(:"date(applicationDecisionEnd)", params[:decided_to].strftime(date_format)) if params[:decided_to] - form.send(:"searchCriteria\.reference", params[:reference]) + form.send(:"searchCriteria\.reference", params[:council_reference]) form.send(:"searchCriteria\.description", params[:keywords]) # Some councils don't have the applicant name on their form, eg Bexley @@ -124,6 +124,7 @@ module UKPlanningScraper if apps == [] && page.search('pa') app = Application.new + app.council_reference = params[:council_reference] if params[:council_reference] parse_summary(app, page) apps << app end # direct hit From 3a226f79cb123e0daa5ca7c281ed2dbc1b30787f Mon Sep 17 00:00:00 2001 From: Jez Nicholson Date: Fri, 1 Mar 2019 09:08:33 +0000 Subject: [PATCH 4/7] three more authorities --- lib/uk_planning_scraper/authorities.csv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/uk_planning_scraper/authorities.csv b/lib/uk_planning_scraper/authorities.csv index 307845f..e4b2ed1 100644 --- a/lib/uk_planning_scraper/authorities.csv +++ b/lib/uk_planning_scraper/authorities.csv @@ -40,6 +40,7 @@ Dumfries and Galloway,https://eaccess.dumgal.gov.uk/online-applications/search.d Ealing,https://pam.ealing.gov.uk/online-applications/search.do?action=advanced,londonboroughs london East Riding of Yorkshire,https://newplanningaccess.eastriding.gov.uk/newplanningaccess/search.do?action=advanced,england East Lothian,https://pa.eastlothian.gov.uk/online-applications/search.do?action=advanced,scotland +East Lindsey,https://publicaccess.e-lindsey.gov.uk/online-applications/search.do?action=advanced,england Edinburgh,https://citydev-portal.edinburgh.gov.uk/idoxpa-web/search.do?action=advanced,scotland Enfield,https://planningandbuildingcontrol.enfield.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Epsom and Ewell,http://eplanning.epsom-ewell.gov.uk/online-applications/search.do?action=advanced,surrey england @@ -72,6 +73,7 @@ Newham,https://pa.newham.gov.uk/online-applications/search.do?action=advanced,lo North Ayrshire,https://www.eplanning.north-ayrshire.gov.uk/OnlinePlanning/search.do?action=advanced,scotland North East Lincolnshire,http://planninganddevelopment.nelincs.gov.uk/online-applications/search.do?action=advanced,england North Lincolnshire,http://www.planning.northlincs.gov.uk/plan/search/,england +North Norfolk,https://idoxpa.north-norfolk.gov.uk/online-applications/search.do?action=advanced,england North Somerset,https://planning.n-somerset.gov.uk/online-applications/search.do?action=advanced,england Northern Ireland,http://epicpublic.planningni.gov.uk/publicaccess/search.do?action=advanced&searchType=Application,northernireland belfast North Tyneside,https://idoxpublicaccess.northtyneside.gov.uk/online-applications/search.do?action=advanced,england tyneandwear @@ -86,6 +88,7 @@ Portsmouth,http://publicaccess.portsmouth.gov.uk/online-applications/search.do?a Purbeck,https://planningsearch.purbeck-dc.gov.uk/PlanAppSrch.aspx,england Redbridge,http://planning.redbridge.gov.uk/swiftlg/apas/run/wphappcriteria.display,london londonboroughs Richmond,http://www2.richmond.gov.uk/PlanData2/Planning_Report.aspx,london londonboroughs +Rhondda Cynon Taff,https://planningonline.rctcbc.gov.uk/online-applications/search.do?action=advanced,wales Rochdale,http://publicaccess.rochdale.gov.uk/online-applications/search.do?action=advanced,england greatermanchester Rutland,https://publicaccess.rutland.gov.uk/online-applications/search.do?action=advanced,england Salford,http://publicaccess.salford.gov.uk/publicaccess/search.do?action=advanced,england greatermanchester From a2f0ea3d705f3615411443f52b88104b87a2155a Mon Sep 17 00:00:00 2001 From: Adrian Short Date: Fri, 1 Mar 2019 20:22:31 +0000 Subject: [PATCH 5/7] Fix tests --- spec/authority_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/authority_spec.rb b/spec/authority_spec.rb index 9fb5746..7a9f91b 100644 --- a/spec/authority_spec.rb +++ b/spec/authority_spec.rb @@ -28,7 +28,7 @@ describe UKPlanningScraper::Authority do let(:all) { described_class.all } it 'returns all authorities' do - expect(all.count).to eq(112) + expect(all.count).to eq(124) end it 'returns a list of authorities' do From fefef1dd70f72127af42caadc4548e7099ffb879 Mon Sep 17 00:00:00 2001 From: Jez Nicholson Date: Sun, 3 Mar 2019 14:38:46 +0000 Subject: [PATCH 6/7] test council_reference test showed that a search for non-existant reference still returns a 'pa' div. Check for existence of
for a successful single hit --- lib/uk_planning_scraper/authorities.csv | 3 + lib/uk_planning_scraper/idox.rb | 4 +- spec/authority_spec.rb | 35 ++--- spec/council_reference_spec.rb | 40 +++++ ...a_non-existant_idox_planning_reference.yml | 139 ++++++++++++++++++ ...or_an_existing_idox_planning_reference.yml | 139 ++++++++++++++++++ 6 files changed, 341 insertions(+), 19 deletions(-) create mode 100644 spec/council_reference_spec.rb create mode 100644 spec/vcr_cassettes/for_a_non-existant_idox_planning_reference.yml create mode 100644 spec/vcr_cassettes/for_an_existing_idox_planning_reference.yml diff --git a/lib/uk_planning_scraper/authorities.csv b/lib/uk_planning_scraper/authorities.csv index e4b2ed1..bd9dedb 100644 --- a/lib/uk_planning_scraper/authorities.csv +++ b/lib/uk_planning_scraper/authorities.csv @@ -27,11 +27,13 @@ Bury,https://planning.bury.gov.uk/online-applications/search.do?action=advanced, Calderdale,https://portal.calderdale.gov.uk/online-applications/search.do?action=advanced,england westyorkshire Camden,http://planningrecords.camden.gov.uk/Northgate/PlanningExplorer17/GeneralSearch.aspx,londonboroughs london Cardiff,https://planningonline.cardiff.gov.uk/online-applications/search.do?action=advanced,wales +Carlisle,https://publicaccess.carlisle.gov.uk/online-applications/search.do?action=advanced,england Cheshire West and Chester,https://pa.cheshirewestandchester.gov.uk/online-applications/search.do?action=advanced,chester cheshire england City of London,http://www.planning2.cityoflondon.gov.uk/online-applications/search.do?action=advanced,london innerlondon northlondon england Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england Croydon,http://publicaccess2.croydon.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england +Comhairle nan Eilean Siar,http://planning.cne-siar.gov.uk/PublicAccess/search.do?action=advanced,scotland County Durham,https://publicaccess.durham.gov.uk/online-applications/search.do?action=advanced,england Craven,https://publicaccess.cravendc.gov.uk/online-applications/search.do?action=advanced,england Darlington,https://publicaccess.darlington.gov.uk/online-applications/search.do?action=advanced,england @@ -99,6 +101,7 @@ Southend-on-Sea,https://publicaccess.southend.gov.uk/online-applications/search. South Downs,https://planningpublicaccess.southdowns.gov.uk/online-applications/search.do?action=advanced,nationalparks england Southampton,https://planningpublicaccess.southampton.gov.uk/online-applications/search.do?action=advanced,england South Gloucestershire,https://developments.southglos.gov.uk/online-applications/search.do?action=advanced,england +South Lanarkshire,https://publicaccess.southlanarkshire.gov.uk/online-applications/search.do?action=advanced,scotland South Tyneside,http://planning.southtyneside.info/Northgate/PlanningExplorer/GeneralSearch.aspx,england tyneandwear Southwark,https://planning.southwark.gov.uk/online-applications/search.do?action=advanced,londonboroughs london St. Helens,https://publicaccess.sthelens.gov.uk/online-applications/search.do?action=advanced,england merseyside liverpoolcityregion diff --git a/lib/uk_planning_scraper/idox.rb b/lib/uk_planning_scraper/idox.rb index f010b43..4fab8e2 100644 --- a/lib/uk_planning_scraper/idox.rb +++ b/lib/uk_planning_scraper/idox.rb @@ -122,9 +122,9 @@ module UKPlanningScraper end # if end # scrape summary tab for apps - if apps == [] && page.search('pa') + if apps == [] && params[:council_reference] && page.at_css('.addressCrumb') app = Application.new - app.council_reference = params[:council_reference] if params[:council_reference] + app.council_reference = params[:council_reference] parse_summary(app, page) apps << app end # direct hit diff --git a/spec/authority_spec.rb b/spec/authority_spec.rb index 7a9f91b..36e7206 100644 --- a/spec/authority_spec.rb +++ b/spec/authority_spec.rb @@ -1,13 +1,11 @@ require 'spec_helper' describe UKPlanningScraper::Authority do - describe '#named' do - - let(:authority) { described_class.named(authority_name) } + subject(:authority) { UKPlanningScraper::Authority.named(name) } context 'when authority exists' do - let(:authority_name) { 'Westminster' } + let(:name) { 'Westminster' } it 'returns an authority' do expect(authority).to be_a(UKPlanningScraper::Authority) @@ -15,7 +13,7 @@ describe UKPlanningScraper::Authority do end context 'when authority does not exist' do - let(:authority_name) { 'Westmonster' } + let(:name) { 'Westmonster' } it 'raises an error' do expect { authority }.to raise_error(UKPlanningScraper::AuthorityNotFound) @@ -24,11 +22,10 @@ describe UKPlanningScraper::Authority do end describe '#all' do + let(:all) { UKPlanningScraper::Authority.all } - let(:all) { described_class.all } - - it 'returns all authorities' do - expect(all.count).to eq(124) + it 'returns more than 100 authorities' do + expect(all.count).to be > 100 end it 'returns a list of authorities' do @@ -40,18 +37,22 @@ describe UKPlanningScraper::Authority do end describe '#tagged' do - let (:tagged_london) { described_class.tagged('london') } + let (:authority) { UKPlanningScraper::Authority.tagged(tag) } + + context 'when tagged london' do + let(:tag) { 'london' } - it 'returns all London authorities' do - expect(tagged_london.count).to eq(35) + it 'returns all 35 London authorities' do + expect(authority.count).to eq(35) + end end - let (:tagged_londonboroughs) { described_class.tagged('londonboroughs') } + context 'when tagged londonboroughs' do + let(:tag) { 'londonboroughs' } - it 'returns all London boroughs' do - expect(tagged_londonboroughs.count).to eq(32) + it 'returns all 32 London boroughs' do + expect(authority.count).to eq(32) + end end - end - end diff --git a/spec/council_reference_spec.rb b/spec/council_reference_spec.rb new file mode 100644 index 0000000..aa151de --- /dev/null +++ b/spec/council_reference_spec.rb @@ -0,0 +1,40 @@ +require 'spec_helper' + +describe UKPlanningScraper::Authority do + describe 'named+council_reference scrape' do + let(:scraper) { UKPlanningScraper::Authority.named(authority_name).council_reference(council_reference) } + + context 'for an existing idox planning reference' do + let(:authority_name) { 'Brighton and Hove' } + let(:council_reference) { 'BH2017/04225' } + subject(:apps) { + VCR.use_cassette("#{self.class.description}") { + scraper.scrape + } + } + + it 'returns an app (in the apps array)' do + expect(apps.any?).to be_truthy + end + + it 'has a status of Withdrawn' do + expect(apps.first[:status]).to eql('Withdrawn') + end + end + + context 'for a non-existant idox planning reference' do + let(:authority_name) { 'Brighton and Hove' } + let(:council_reference) { 'XYZ123' } + subject(:apps) { + VCR.use_cassette("#{self.class.description}") { + scraper.scrape + } + } + + it 'returns an empty apps array' do + expect(apps.empty?).to be_truthy + end + end + end + +end diff --git a/spec/vcr_cassettes/for_a_non-existant_idox_planning_reference.yml b/spec/vcr_cassettes/for_a_non-existant_idox_planning_reference.yml new file mode 100644 index 0000000..9e71acf --- /dev/null +++ b/spec/vcr_cassettes/for_a_non-existant_idox_planning_reference.yml @@ -0,0 +1,139 @@ +--- +http_interactions: +- request: + method: get + uri: https://planningapps.brighton-hove.gov.uk/online-applications/search.do?action=advanced + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip,deflate,identity + Accept: + - "*/*" + User-Agent: + - Mechanize/2.7.6 Ruby/2.6.0p0 (http://github.com/sparklemotion/mechanize/) + Accept-Charset: + - ISO-8859-1,utf-8;q=0.7,*;q=0.7 + Accept-Language: + - en-us,en;q=0.5 + Host: + - planningapps.brighton-hove.gov.uk + Connection: + - keep-alive + Keep-Alive: + - '300' + response: + status: + code: 200 + message: OK + headers: + Date: + - Sun, 03 Mar 2019 14:36:41 GMT + Server: + - Apache + X-Via-Nscopi: + - '1.0' + Transfer-Encoding: + - chunked + - chunked + Content-Type: + - text/html;charset=ISO-8859-1 + Cache-Control: + - no-cache + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + Set-Cookie: + - JSESSIONID=UQha3HBO0sRriFuzgAEdESELmLo9KU_VQaCqUgPF.pasadena; path=/online-applications; + HttpOnly;Secure + - NSC_ESNS=00147dcc-e63e-1c7b-9678-00e0ed24d1aa_2879804966_0989270917_00000000004295584490; + Path=/; Expires=Sun, 03-Mar-2019 14:36:56 GMT + Keep-Alive: + - timeout=5, max=46 + Connection: + - Keep-Alive + Content-Encoding: + - gzip + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Sun, 03 Mar 2019 14:36:19 GMT +- request: + method: post + uri: https://planningapps.brighton-hove.gov.uk/online-applications/advancedSearchResults.do?action=firstPage + body: + encoding: UTF-8 + string: searchCriteria.reference=XYZ123&searchCriteria.planningPortalReference=&searchCriteria.alternativeReference=&searchCriteria.description=&searchCriteria.applicantName=&searchCriteria.caseType=&searchCriteria.ward=&searchCriteria.parish=&searchCriteria.conservationArea=&searchCriteria.agent=&searchCriteria.caseStatus=&searchCriteria.caseDecision=&searchCriteria.appealStatus=&searchCriteria.appealDecision=&searchCriteria.developmentType=&caseAddressType=Application&searchCriteria.address=&date%28applicationReceivedStart%29=&date%28applicationReceivedEnd%29=&date%28applicationValidatedStart%29=&date%28applicationValidatedEnd%29=&date%28applicationCommitteeStart%29=&date%28applicationCommitteeEnd%29=&date%28applicationDecisionStart%29=&date%28applicationDecisionEnd%29=&date%28appealDecisionStart%29=&date%28appealDecisionEnd%29=&searchType=Application + headers: + Accept-Encoding: + - gzip,deflate,identity + Accept: + - "*/*" + User-Agent: + - Mechanize/2.7.6 Ruby/2.6.0p0 (http://github.com/sparklemotion/mechanize/) + Accept-Charset: + - ISO-8859-1,utf-8;q=0.7,*;q=0.7 + Accept-Language: + - en-us,en;q=0.5 + Cookie: + - JSESSIONID=UQha3HBO0sRriFuzgAEdESELmLo9KU_VQaCqUgPF.pasadena; NSC_ESNS=00147dcc-e63e-1c7b-9678-00e0ed24d1aa_2879804966_0989270917_00000000004295584490 + Host: + - planningapps.brighton-hove.gov.uk + Referer: + - https://planningapps.brighton-hove.gov.uk/online-applications/search.do?action=advanced + Content-Type: + - application/x-www-form-urlencoded + Content-Length: + - '857' + Connection: + - keep-alive + Keep-Alive: + - '300' + response: + status: + code: 200 + message: OK + headers: + Date: + - Sun, 03 Mar 2019 14:36:42 GMT + Server: + - Apache + X-Via-Nscopi: + - '1.0' + Transfer-Encoding: + - chunked + - chunked + Content-Type: + - text/html;charset=ISO-8859-1 + Cache-Control: + - no-cache + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + Keep-Alive: + - timeout=5, max=84 + Connection: + - Keep-Alive + Set-Cookie: + - NSC_ESNS=00104827-e640-1c7b-9678-00e0ed24d1aa_4043446334_1616076189_00000000000000615371; + Path=/; Expires=Sun, 03-Mar-2019 14:36:57 GMT + Content-Encoding: + - gzip + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Sun, 03 Mar 2019 14:36:20 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/vcr_cassettes/for_an_existing_idox_planning_reference.yml b/spec/vcr_cassettes/for_an_existing_idox_planning_reference.yml new file mode 100644 index 0000000..e0350a2 --- /dev/null +++ b/spec/vcr_cassettes/for_an_existing_idox_planning_reference.yml @@ -0,0 +1,139 @@ +--- +http_interactions: +- request: + method: get + uri: https://planningapps.brighton-hove.gov.uk/online-applications/search.do?action=advanced + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip,deflate,identity + Accept: + - "*/*" + User-Agent: + - Mechanize/2.7.6 Ruby/2.6.0p0 (http://github.com/sparklemotion/mechanize/) + Accept-Charset: + - ISO-8859-1,utf-8;q=0.7,*;q=0.7 + Accept-Language: + - en-us,en;q=0.5 + Host: + - planningapps.brighton-hove.gov.uk + Connection: + - keep-alive + Keep-Alive: + - '300' + response: + status: + code: 200 + message: OK + headers: + Date: + - Sun, 03 Mar 2019 14:36:37 GMT + Server: + - Apache + X-Via-Nscopi: + - '1.0' + Transfer-Encoding: + - chunked + - chunked + Content-Type: + - text/html;charset=ISO-8859-1 + Cache-Control: + - no-cache + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + Set-Cookie: + - JSESSIONID=bXQcMI5eK5_uFTyKiTs0Eb5EHum33XPZpFbHL3K3.pasadena; path=/online-applications; + HttpOnly;Secure + - NSC_ESNS=000a4111-e63b-1c7b-9678-00e0ed24d1aa_0643257894_3070628741_00000000004295584468; + Path=/; Expires=Sun, 03-Mar-2019 14:36:52 GMT + Keep-Alive: + - timeout=5, max=48 + Connection: + - Keep-Alive + Content-Encoding: + - gzip + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Sun, 03 Mar 2019 14:36:15 GMT +- request: + method: post + uri: https://planningapps.brighton-hove.gov.uk/online-applications/advancedSearchResults.do?action=firstPage + body: + encoding: UTF-8 + string: searchCriteria.reference=BH2017%2F04225&searchCriteria.planningPortalReference=&searchCriteria.alternativeReference=&searchCriteria.description=&searchCriteria.applicantName=&searchCriteria.caseType=&searchCriteria.ward=&searchCriteria.parish=&searchCriteria.conservationArea=&searchCriteria.agent=&searchCriteria.caseStatus=&searchCriteria.caseDecision=&searchCriteria.appealStatus=&searchCriteria.appealDecision=&searchCriteria.developmentType=&caseAddressType=Application&searchCriteria.address=&date%28applicationReceivedStart%29=&date%28applicationReceivedEnd%29=&date%28applicationValidatedStart%29=&date%28applicationValidatedEnd%29=&date%28applicationCommitteeStart%29=&date%28applicationCommitteeEnd%29=&date%28applicationDecisionStart%29=&date%28applicationDecisionEnd%29=&date%28appealDecisionStart%29=&date%28appealDecisionEnd%29=&searchType=Application + headers: + Accept-Encoding: + - gzip,deflate,identity + Accept: + - "*/*" + User-Agent: + - Mechanize/2.7.6 Ruby/2.6.0p0 (http://github.com/sparklemotion/mechanize/) + Accept-Charset: + - ISO-8859-1,utf-8;q=0.7,*;q=0.7 + Accept-Language: + - en-us,en;q=0.5 + Cookie: + - JSESSIONID=bXQcMI5eK5_uFTyKiTs0Eb5EHum33XPZpFbHL3K3.pasadena; NSC_ESNS=000a4111-e63b-1c7b-9678-00e0ed24d1aa_0643257894_3070628741_00000000004295584468 + Host: + - planningapps.brighton-hove.gov.uk + Referer: + - https://planningapps.brighton-hove.gov.uk/online-applications/search.do?action=advanced + Content-Type: + - application/x-www-form-urlencoded + Content-Length: + - '865' + Connection: + - keep-alive + Keep-Alive: + - '300' + response: + status: + code: 200 + message: OK + headers: + Date: + - Sun, 03 Mar 2019 14:36:39 GMT + Server: + - Apache + X-Via-Nscopi: + - '1.0' + Transfer-Encoding: + - chunked + - chunked + Content-Type: + - text/html;charset=ISO-8859-1 + Cache-Control: + - no-cache + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + Keep-Alive: + - timeout=5, max=47 + Connection: + - Keep-Alive + Set-Cookie: + - NSC_ESNS=0015685d-e63c-1c7b-9678-00e0ed24d1aa_1495865406_3363331485_00000000004295584478; + Path=/; Expires=Sun, 03-Mar-2019 14:36:54 GMT + Content-Encoding: + - gzip + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Sun, 03 Mar 2019 14:36:17 GMT +recorded_with: VCR 4.0.0 From 7602c5f7859b036e7780d6ffc4c4d7896d1afaf9 Mon Sep 17 00:00:00 2001 From: Jez Nicholson Date: Mon, 18 Mar 2019 11:57:31 +0000 Subject: [PATCH 7/7] 3 more authorities --- lib/uk_planning_scraper/authorities.csv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/uk_planning_scraper/authorities.csv b/lib/uk_planning_scraper/authorities.csv index bd9dedb..6c2efb5 100644 --- a/lib/uk_planning_scraper/authorities.csv +++ b/lib/uk_planning_scraper/authorities.csv @@ -30,6 +30,7 @@ Cardiff,https://planningonline.cardiff.gov.uk/online-applications/search.do?acti Carlisle,https://publicaccess.carlisle.gov.uk/online-applications/search.do?action=advanced,england Cheshire West and Chester,https://pa.cheshirewestandchester.gov.uk/online-applications/search.do?action=advanced,chester cheshire england City of London,http://www.planning2.cityoflondon.gov.uk/online-applications/search.do?action=advanced,london innerlondon northlondon england +Conwy,http://www.conwy.gov.uk/en/Resident/Planning-Building-Control-and-Conservation/Planning-Applications/Planning-Explorer.aspx,wales Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england Croydon,http://publicaccess2.croydon.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Cornwall,http://planning.cornwall.gov.uk/online-applications/search.do?action=advanced,england @@ -46,6 +47,7 @@ East Lindsey,https://publicaccess.e-lindsey.gov.uk/online-applications/search.do Edinburgh,https://citydev-portal.edinburgh.gov.uk/idoxpa-web/search.do?action=advanced,scotland Enfield,https://planningandbuildingcontrol.enfield.gov.uk/online-applications/search.do?action=advanced,londonboroughs london Epsom and Ewell,http://eplanning.epsom-ewell.gov.uk/online-applications/search.do?action=advanced,surrey england +Fife,https://planning.fife.gov.uk/online/search.do?action=advanced,scotland Glasgow,https://publicaccess.glasgow.gov.uk/online-applications/search.do?action=advanced,scotland Greenwich,https://planning.royalgreenwich.gov.uk/online-applications/search.do?action=advanced,london innerlondon southlondon england londonboroughs Hackney,http://planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx,londonboroughs london @@ -93,6 +95,7 @@ Richmond,http://www2.richmond.gov.uk/PlanData2/Planning_Report.aspx,london londo Rhondda Cynon Taff,https://planningonline.rctcbc.gov.uk/online-applications/search.do?action=advanced,wales Rochdale,http://publicaccess.rochdale.gov.uk/online-applications/search.do?action=advanced,england greatermanchester Rutland,https://publicaccess.rutland.gov.uk/online-applications/search.do?action=advanced,england +Scottish Government S36,http://www.energyconsents.scot/ApplicationSearch.aspx?T=2,scotland Salford,http://publicaccess.salford.gov.uk/publicaccess/search.do?action=advanced,england greatermanchester Sefton,https://pa.sefton.gov.uk/online-applications/search.do?action=advanced,england merseyside liverpoolcityregion Sheffield,https://planningapps.sheffield.gov.uk/online-applications/search.do?action=advanced,england