code: def download_hashtag(self, hashtag: str,
                           max_count: Optional[int] = None,
                           post_filter: Optional[Callable[[Post], bool]] = None,
                           fast_update: bool = False) -> None:
          
          hashtag = hashtag.lower()
          self.context.log("Retrieving pictures with hashtag {}...".format(hashtag))
          count = 1
          for post in self.get_hashtag_posts(hashtag):
              if max_count is not None and count > max_count:
                  break
              self.context.log('[{0:3d}] #{1} '.format(count, hashtag), end='', flush=True)
              if post_filter is not None and not post_filter(post):
                  self.context.log('<skipped>')
                  continue
              count += 1
              with self.context.error_catcher('Download hashtag #{}'.format(hashtag)):
                  downloaded = self.download_post(post, target='#' + hashtag)
                  if fast_update and not downloaded:
                      break
docs: Download pictures of one hashtag.
  
          To download the last 30 pictures with hashtag #cat, do::
  
              loader = Instaloader()
              loader.download_hashtag('cat', max_count=30)
  
          :param hashtag: Hashtag to download, without leading '#'
          :param max_count: Maximum count of pictures to download
          :param post_filter: function(post), which returns True if given picture should be downloaded
          :param fast_update: If true, abort when first already-downloaded picture is encountered