input: from typing import List
  
  def crawl(url: str) -> List[str]:
      """
      Create a web crawler that starts from a given URL, finds all the links on the page,
      and scrapes the content of the page. It then continues to follow those links and
      scrape their content, avoiding revisiting the same URL.
      
      >>> crawl('http://example.com')
      ['http://example.com', 'http://example.com/about', 'http://example.com/contact']
      """
output:     
      import requests
      from bs4 import BeautifulSoup
      from urllib.parse import urljoin
  
      visited = set()
      to_visit = [url]
      links = []
  
      while to_visit:
          current_url = to_visit.pop(0)
          if current_url in visited:
              continue
          visited.add(current_url)
          links.append(current_url)
  
          try:
              response = requests.get(current_url)
              if response.status_code == 200:
                  soup = BeautifulSoup(response.text, 'html.parser')
                  for link in soup.find_all('a', href=True):
                      absolute_url = urljoin(current_url, link['href'])
                      if absolute_url not in visited:
                          to_visit.append(absolute_url)
          except requests.RequestException:
              continue
  
      return links
  