code: async def crawl(self, urls, sem):
          
          tasks = [
              self._sem_crawl(sem, x)
              for x in urls
          ]
  
          tasks_iter = asyncio.as_completed(tasks)
  
          fk_task_iter = tqdm.tqdm(
              tasks_iter,
              total=len(tasks),
              desc=' ✈',
              # desc='✈ {}/{}'.format(self.result['ok'], self.result['fail'])
          )
          for co_ in fk_task_iter:
              await co_
docs: :param urls:
          :type urls: list/dict
          :param sem:
          :type sem:
          :return:
          :rtype: