robbrad / UKBinCollectionData

UK Council Bin Collection Data Parser Outputting Bin Data as a JSON
MIT License
161 stars 95 forks source link

Parsing error for Argyll & Bute council #1053

Open allanvbcrew opened 1 week ago

allanvbcrew commented 1 week ago

Name of Council

Argyll and Bute

Issue Information

Failed setup for Argyll and Bute data. Tried with different UPRN and confirmed website is returning correct data. Logs show an error : [UKBinCollection] Unexpected error: 'NoneType' object has no attribute 'find_all'

Logs below :

Logger: custom_components.uk_bin_collection Source: custom_components/uk_bin_collection/init.py:250 integration: UK Bin Collection Data (documentation, issues) First occurred: 21:14:51 (77 occurrences) Last logged: 22:24:12

[UKBinCollection] Unexpected error: 'NoneType' object has no attribute 'find_all' Traceback (most recent call last): File "/config/custom_components/uk_bin_collection/init.py", line 250, in _async_update_data data = await asyncio.wait_for( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for return await fut ^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uk_bin_collection/uk_bin_collection/collect_data.py", line 101, in run return self.client_code( ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uk_bin_collection/uk_bin_collection/collect_data.py", line 121, in client_code return get_bin_data_class.template_method(address_url, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uk_bin_collection/uk_bin_collection/get_bin_data.py", line 61, in template_method bin_data_dict = self.get_and_parse_data(this_url, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uk_bin_collection/uk_bin_collection/get_bin_data.py", line 82, in get_and_parse_data bin_data_dict = self.parse_data(page, url=address_url, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uk_bin_collection/uk_bin_collection/councils/ArgyllandButeCouncil.py", line 38, in parse_data rows = table.find_all("tr")[1:] # Skip the header row ^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'find_all'

Verification

m26dvd commented 5 days ago

It looks like the council have changed their form to include a time based honeypot. The scraper will need some work to get round this