input: Write a function to create a web crawler that starts from a given URL, looks for other links on the page, and scrapes the page content. The function should visit each link in a queue-based manner.
  assert crawl('http://example.com')==None
  assert crawl('http://example.com/not_existing_page')==None
  assert crawl('http://example.com/about')==None
  assert crawl('http://example.com/contact')==None
  assert crawl('http://example.com/services')==None
output: def crawl(url):
      import requests
      from bs4 import BeautifulSoup
      from urllib.parse import urljoin
      from collections import deque
  
      visited = set()
      queue = deque([url])
  
      while queue:
          current_url = queue.popleft()
          if current_url in visited:
              continue
          visited.add(current_url)
  
          try:
              response = requests.get(current_url)
              if response.status_code != 200:
                  continue
          except requests.RequestException:
              continue
  
          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:
                  queue.append(absolute_url)
  
      return None