input: Write a function to create a web scraper in Python that can extract hotel reviews from TripAdvisor. The function should take a URL as input, send a request to the URL, parse the HTML with BeautifulSoup, find and extract all reviews, and then print the title and text of each review. The function should use the headers to mimic a real web browser request.
  
  
  import requests
  from bs4 import BeautifulSoup
  
  def extract_hotel_reviews(url):
      headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
      
      # Make a request and get HTML in response
      response = requests.get(url, headers=headers)
  
      # Parse HTML
      soup = BeautifulSoup(response.text, 'html.parser')
  
      # Find all reviews
      reviews = soup.find_all('div', {'class': 'review-container'})
  
      # Go through every review and extract the data
      for review in reviews:
          # Get the title
          title = review.find('span', {'class': 'noQuotes'}).text
  
          # Get the text
          text = review.find('p', {'class': 'partial_entry'}).text
  
          # Print for demo
          print(title)
          print(text)
          print('-' * 50)
  
  # Test cases
  assert extract_hotel_reviews('<valid_url>') # This should print each review's title and text
  
output: def extract_hotel_reviews(url):
      headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
      
      # Make a request and get HTML in response
      response = requests.get(url, headers=headers)
  
      # Parse HTML
      soup = BeautifulSoup(response.text, 'html.parser')
  
      # Find all reviews
      reviews = soup.find_all('div', {'class': 'review-container'})
  
      # Go through every review and extract the data
      for review in reviews:
          # Get the title
          title = review.find('span', {'class': 'noQuotes'}).text
  
          # Get the text
          text = review.find('p', {'class': 'partial_entry'}).text
  
          # Print for demo
          print(title)
          print(text)
          print('-' * 50)