def load_authors(self, max_pages=10):
        logger.info("loading authors")
        if self.purge_first:
            Author.objects.filter(site_id=self.site_id).delete()
        path = "sites/{}/users".format(self.site_id)
        params = {"number": 100}
        page = 1
        response = self.get(path, params)
        if not response.ok:
            logger.warning("Response NOT OK! status_code=%s\n%s", response.status_code, response.text)
        while response.ok and response.text and page < max_pages:
            logger.info(" - page: %d", page)
            api_users = response.json().get("users")
            if not api_users:
                break
            authors = []
            for api_author in api_users:
                existing_author = Author.objects.filter(site_id=self.site_id, wp_id=api_author["ID"]).first()
                if existing_author:
                    self.update_existing_author(existing_author, api_author)
                else:
                    authors.append(self.get_new_author(api_author))
            if authors:
                Author.objects.bulk_create(authors)
            elif not self.full:
                break
            params["offset"] = page * 100
            page += 1
            response = self.get(path, params)
            if not response.ok:
                logger.warning("Response NOT OK! status_code=%s\n%s", response.status_code, response.text)
                return