code: def get_all_websites(urls, limit=1, html=False):
      reviewd_urls = {}
  
      # def fetch_url(url):
      #     url = url.rstrip('/')
      #     if urlparse(url).scheme == "":
      #         # Try HTTPS first
      #         url = "https://" + url
      #     reviewd_urls_iter = {}
      #     get_all_website_links_rec(url, reviewd_urls_iter, limit)
      #     return reviewd_urls_iter
  
      # reviewd_urls = fetch_url(urls[0])
      # Define a helper function that will be run in parallel.
      def fetch_url(url):
          # Allow URLs to be passed wrapped in quotation marks so they can be used
          # directly from the SQL editor.
          if url.startswith("'") and url.endswith("'"):
              url = url[1:-1]
          url = url.rstrip("/")
          if urlparse(url).scheme == "":
              # Try HTTPS first
              url = "https://" + url
          get_all_website_links_rec(url, reviewd_urls, limit)
  
      # Use a ThreadPoolExecutor to run the helper function in parallel.
      with concurrent.futures.ThreadPoolExecutor() as executor:
          future_to_url = {
              executor.submit(fetch_url, url): url for url in urls
          }
  
          for future in concurrent.futures.as_completed(future_to_url):
              future.result()
  
      columns_to_ignore = ["urls"]
      if html is False:
          columns_to_ignore += ["html_content"]
      df = dict_to_dataframe(
          reviewd_urls,
          columns_to_ignore=columns_to_ignore,
          index_name="url",
      )
  
      if not df.empty and df[df.error.isna()].empty:
          # no real data - rise exception from first row
          raise Exception(str(df.iloc[0].error))
      return df
  
imports: import concurrent.futures
  import io
  import re
  import traceback
  from threading import Lock
  from urllib.parse import urljoin, urlparse
  import fitz
  import pandas
  import requests
  from bs4 import BeautifulSoup
  from mindsdb.utilities import log
label_desc: Use image node_id 7 for calling a global function with example usage: get_all_websites(urls, limit, html) and returns: df