input: Write a function to build a web scraper in Python that collects all the links from a given URL. The function should return a list of all the links found on the webpage. If the URL is invalid or the page does not contain any links, the function should return an empty list.
  
  assert collect_links("http://www.example.com")==['http://www.iana.org/domains/example']
  assert collect_links("http://www.google.com")==['http://www.google.com', 'http://www.google.com/images', 'http://www.google.com/search']
  assert collect_links("http://www.invalidurl.com")==[]
  assert collect_links("http://www.no-links.com")==[]
  assert collect_links("")==[]
output: import requests
  from bs4 import BeautifulSoup
  
  def collect_links(url):
      try:
          response = requests.get(url)
          response.raise_for_status()
      except:
          return []
      
      soup = BeautifulSoup(response.text, 'html.parser')
      links = [a['href'] for a in soup.find_all('a', href=True)]
      
      return links