input: Write a function to scrape the table at the given URL and extract the planets information (name, mass, and distance from the sun). Return a list of dictionaries, where each dictionary contains the information for a single planet. If the URL is invalid or the table is not found, return an empty list.
  import requests
  from bs4 import BeautifulSoup
  
  def scrape_planets_info(url):
   page = requests.get(url)
   if page.status_code != 200:
   return []
  
   soup = BeautifulSoup(page.content, 'lxml')
   planets_table = soup.find('table', class_='wikitable sortable')
   if not planets_table:
   return []
  
   planets = []
   for row in planets_table.find_all('tr'):
   if row.find('th'):
   continue
   cells = row.find_all('td')
   planets.append({
   'name': cells[0].text,
   'mass': cells[2].text,
   'distance_from_sun': cells[5].text
   })
  
   return planets
  
  assert scrape_planets_info('https://en.wikipedia.org/wiki/List_of_gravitationally_rounded_objects_of_the_Solar_System')
  assert scrape_planets_info('https://invalidurl.com')==[]
  assert scrape_planets_info('https://en.wikipedia.org/wiki/Solar_System')==[]
output: 
  import requests
  from bs4 import BeautifulSoup
  
  def scrape_planets_info(url):
   page = requests.get(url)
   if page.status_code != 200:
   return []
  
   soup = BeautifulSoup(page.content, 'lxml')
   planets_table = soup.find('table', class_='wikitable sortable')
   if not planets_table:
   return []
  
   planets = []
   for row in planets_table.find_all('tr'):
   if row.find('th'):
   continue
   cells = row.find_all('td')
   planets.append({
   'name': cells[0].text,
   'mass': cells[2].text,
   'distance_from_sun': cells[5].text
   })
  
   return planets
  