. Scrape this text file from: https://gml.noaa.gov/webdata/ccgg/trends/co2/co2_mm_mlo.txt Using your Webscraping class, scrape the text file using file scraping techniques or use html parsing (bs4,pandas,selenium) to acquire the data. This implies that the file is NOT downloaded from a browser. # decimal monthly de-season #days st.dev unc. of # date average alized of days mon mean 1958 3 1958.2027 315.70 314.43 -1 -9.99 -0.99 1958 4 1958.2877 317.45 315.16 -1 -9.99 -0.99 1958 5 1958.3699 317.51 314.71 -1 -9.99 -0.99 1958 6 1958.4548 317.24 315.14 -1 -9.99 -0.99 1958 7 1958.5370 315.86 315.18 -1 -9.99 -0.99 1958 8 1958.6219 314.93 316.18 -1 -9.99 -0.99 1958 9 1958.7068 313.20 316.08 -1 -9.99 -0.99 1958 10 1958.7890 312.43 315.41 -1 -9.99 -0.99 1958 11 1958.8740 313.33 315.20 -1 -9.99 -0.99 1958 12 1958.9562 314.67 315.43 -1 -9.99 -0.99 Save the data to a JSON string. Webscraping class : class WebScraping: def __init__(self,url): self.url = url self.response = requests.get(self.url) self.soup = BeautifulSoup(self.response.text, 'html.parser') def extract_data(self): data = defaultdict(list) table = self.soup.find('table', {'class': 'wikitable sortable'}) rows = table.find_all('tr')[1:] for row in rows: cols = row.find_all('td') data['Country Name'].append(cols[0].text.strip()) data['1980'].append(cols[1].text.strip()) data['2018'].append(cols[2].text.strip()) return data
1. Scrape this text file from:
https://gml.noaa.gov/webdata/ccgg/trends/co2/co2_mm_mlo.txt
Using your Webscraping class, scrape the text file using file scraping techniques or use html parsing (bs4,pandas,selenium) to acquire the data. This implies that the file is NOT downloaded from a browser.
# decimal monthly de-season #days st.dev unc. of
# date average alized of days mon mean
1958 3 1958.2027 315.70 314.43 -1 -9.99 -0.99
1958 4 1958.2877 317.45 315.16 -1 -9.99 -0.99
1958 5 1958.3699 317.51 314.71 -1 -9.99 -0.99
1958 6 1958.4548 317.24 315.14 -1 -9.99 -0.99
1958 7 1958.5370 315.86 315.18 -1 -9.99 -0.99
1958 8 1958.6219 314.93 316.18 -1 -9.99 -0.99
1958 9 1958.7068 313.20 316.08 -1 -9.99 -0.99
1958 10 1958.7890 312.43 315.41 -1 -9.99 -0.99
1958 11 1958.8740 313.33 315.20 -1 -9.99 -0.99
1958 12 1958.9562 314.67 315.43 -1 -9.99 -0.99
Save the data to a JSON string.
Webscraping class :
class WebScraping:
def __init__(self,url):
self.url = url
self.response = requests.get(self.url)
self.soup = BeautifulSoup(self.response.text, 'html.parser')
def extract_data(self):
data = defaultdict(list)
table = self.soup.find('table', {'class': 'wikitable sortable'})
rows = table.find_all('tr')[1:]
for row in rows:
cols = row.find_all('td')
data['Country Name'].append(cols[0].text.strip())
data['1980'].append(cols[1].text.strip())
data['2018'].append(cols[2].text.strip())
return data
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images