def download_image(self, img_url):
        """ Downloads a single image.

            Downloads img_url using self.page_url as base.
            Also, raises the appropriate exception if required.
        """
        img_request = None
        try:
            img_request = requests.request(
                'get', img_url, stream=True, proxies=self.proxies)
            if img_request.status_code != 200:
                raise ImageDownloadError(img_request.status_code)
        except:
            raise ImageDownloadError()

        if img_url[-3:] == "svg" or (int(img_request.headers['content-length']) > self.min_filesize and\
                                     int(img_request.headers['content-length']) < self.max_filesize):
            img_content = img_request.content
            with open(os.path.join(self.download_path, img_url.split('/')[-1]), 'wb') as f:
                byte_image = bytes(img_content)
                f.write(byte_image)
        else:
            raise ImageSizeError(img_request.headers['content-length'])
        return True
Downloads a single image.

            Downloads img_url using self.page_url as base.
            Also, raises the appropriate exception if required.