2. Using this website: https://en.wikipedia.org/wiki/Greenhouse_gas and using your Webscraping class from labo, scrape the Concentrations Table and store the data in your named tuple class defined in question #1. Store each tuple class object in a cumulative dataframe.
2. Using this website: https://en.wikipedia.org/wiki/Greenhouse_gas and using your Webscraping class from labo, scrape the Concentrations Table and store the data in your named tuple class defined in question #1. Store each tuple class object in a cumulative dataframe.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
https://en.wikipedia.org/wiki/Greenhouse_gas
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
question #1
class GreenhouseGasData(NamedTuple):
Gas: str
Pre_1750: float
Recent: float
Absolute_increase_since_1750: float
Percentage_increase_since_1750: float
class GreenhouseGasCollection:
def __init__(self, data):
self.data = data
def __repr__(self):
return str(self.data)
def sort_by(self, column):
if column not in GreenhouseGasData._fields:
raise ValueError(f"{column} not found in {GreenhouseGasData._fields}")
# self.data = sorted(self.data, key=lambda x: x[column])
self.data = sorted(self.data, key=lambda x: getattr(x, column))
def search(self, gas):
for gas_data in self.data:
if gas_data.Gas == gas:
return gas_data
return None
def main():
data = [
GreenhouseGasData("Carbon dioxide", 280, 414.8, 134.8, 48.0),
GreenhouseGasData("Methane", 722, 1874.0, 1152.0, 159.0),
GreenhouseGasData("Nitrous oxide", 270, 329.0, 59.0, 21.9),
GreenhouseGasData("Fluorinated gases", 0.5, 13.0, 12.5, 2500.0),
]
collection = GreenhouseGasCollection(data)
print("Data:", collection)
collection.sort_by("Recent")
print("Data sorted by Recent:", collection)
result = collection.search("Carbon dioxide")
if result:
print("Data for Carbon dioxide:", result)
else:
print("Data for Carbon dioxide not found")
if __name__ == "__main__":
main()
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education