input: Write a function to create a web crawler in Python that starts from a given URL, searches for other links on the page, and then scrapes the content of each page visited. The function should use the `requests` library to fetch the web pages and the `BeautifulSoup` library to parse the HTML and extract links.
  
  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')
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
   print(soup.get_text())
   
   # 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'])
  