input: Write a function to scrape product data from an online web store using Python BeautifulSoup. The function should return a list of dictionaries where each dictionary contains the name, price, and description of a product.
  import requests
  from bs4 import BeautifulSoup
  
  def scrape_products(url):
      # Make a GET request to fetch the raw HTML content
      html_content = requests.get(url).text
      
      # Parse the html content
      soup = BeautifulSoup(html_content, "lxml")
      
      # Initialize an empty list to store product data
      products_data = []
      
      # Get the product data
      products = soup.find_all('div', attrs={"itemprop": "product"})
      for product in products:
          name = product.find("span", attrs={"itemprop": "name"}).text
          price = product.find("span", attrs={"itemprop": "price"}).text
          description = product.find("span", attrs={"itemprop": "description"}).text
          products_data.append({"name": name, "price": price, "description": description})
      
      return products_data
  
  assert scrape_products('http://web-store.com')==[{'name': 'Product 1', 'price': '$10', 'description': 'Description 1'}, {'name': 'Product 2', 'price': '$20', 'description': 'Description 2'}]
  assert scrape_products('http://another-web-store.com')==[]
output: def scrape_products(url):
      html_content = requests.get(url).text
      soup = BeautifulSoup(html_content, "lxml")
      products_data = []
      products = soup.find_all('div', attrs={"itemprop": "product"})
      for product in products:
          name = product.find("span", attrs={"itemprop": "name"}).text
          price = product.find("span", attrs={"itemprop": "price"}).text
          description = product.find("span", attrs={"itemprop": "description"}).text
          products_data.append({"name": name, "price": price, "description": description})
      return products_data