input: Write a function to create a web crawler in Python that starts from a given URL and looks for other links in the page, then scrapes the page content. The function should add visited URLs to a set and add new links to the queue for further crawling.
  
  def crawl(url):
   visited = set()
   queue = [url] 
   
   while queue:
   curr = queue.pop(0)
   visited.add(curr) 
   response = requests.get(curr)
   
   if response.ok:
   soup = BeautifulSoup(response.text, 'html.parser')
  
  # scrape the page here 
  
  # find all the links
   links = soup.find_all('a', href=re.compile('^http')) 
   
   for link in links:
   if link['href'] not in visited:
   queue.append(link['href'])
  
  assert crawl('http://example.com')==None
  assert crawl('http://example.com/invalid')==None
output: def crawl(url):
   visited = set()
   queue = [url] 
   
   while queue:
   curr = queue.pop(0)
   visited.add(curr) 
   response = requests.get(curr)
   
   if response.ok:
   soup = BeautifulSoup(response.text, 'html.parser')
  
  # scrape the page here 
  
  # find all the links
   links = soup.find_all('a', href=re.compile('^http')) 
   
   for link in links:
   if link['href'] not in visited:
   queue.append(link['href'])