Apr-19-2020, 05:42 PM
Hi, I am trying to extract the 4 tables of cases and deaths (new+total) from this page:
https://coronavirus.data.gov.uk/#local-authorities
I have read all numerous websites about how BS works but seem to be failing at each stage. Very frustrating but I'm sure down to my own inabilities!
So, am hoping I can get some help here?
The following seem to be the code that works least badly..
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key
AttributeError: ResultSet object has no attribute 'find'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?
Am tearing my hair out!
Thanks Andrew
https://coronavirus.data.gov.uk/#local-authorities
I have read all numerous websites about how BS works but seem to be failing at each stage. Very frustrating but I'm sure down to my own inabilities!
So, am hoping I can get some help here?
The following seem to be the code that works least badly..
import requests from bs4 import BeautifulSoup import pandas as pd import numpy as np url = "https://coronavirus.data.gov.uk/#local-authorities" r = requests.get(url) soup = BeautifulSoup(r.content, 'html.parser') table = soup.find_all('table') rows = table.find('cell') row_list = list() for tr in rows: td = tr.find_all('td') row = [i.text for i in td] row_list.append(row) df_bs = pd.DataFrame(row_list,columns=['City','Country','Notes']) df_bs.set_index('Country',inplace=True) df_bs.to_csv('beautifulsoup.csv')It gives me the following error on the line "rows = table.find('cell')"
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key
AttributeError: ResultSet object has no attribute 'find'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?
Am tearing my hair out!
Thanks Andrew