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
icon
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()
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.
Transcribed Image Text: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.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Dataset
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.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education