code: def initialize_arg_parser():
          
  
          GoogleImageExtractor.__argParser = ArgumentParser(
              description='Utility to search and download images from google')
  
          # Add the required arguments
          requiredArguments = GoogleImageExtractor.__argParser.add_argument_group(
              'required arguments')
          requiredArguments.add_argument('-q', '--image-query', dest='imageQuery',
                                         type=str, required=True, help='Image Search Query',
                                         metavar='<image_query>')
  
          # Add the optional arguments
          optionalArguments = GoogleImageExtractor.__argParser.add_argument_group(
              'optional arguments')
          optionalArguments.add_argument('-f', '--destination-folder', dest='destinationFolder',
                                         type=str, help='Download Destination Folder, default is the current folder',
                                         metavar='<destination_folder>', default="./")
  
          optionalArguments.add_argument('-n', '--image-count', dest='imageCount',
                                         type=int, help='Count of images that neeed to be extracted',
                                         metavar='<image_count>', default=100)
  
          optionalArguments.add_argument('-t', '--thread-count', dest='threadCount',
                                         type=int, help='Count of threads, to parallelize download of images',
                                         metavar='<thread_count>', default=4)
docs: Initializes the option parser with the options -
              -q --image-query {[str]} -- [Image Search Query]
              -n --image-count {[int]} -- [Count of images that need to be downloaded]
              -f --destination-folder {[str]} -- [Download Destination Folder]
              -t --thread-count {[int]} -- [Count of Threads, to parallelize download of images]