class_docstr: Specialise :class:`cartopy.io.Downloader` to download the zipped
  Natural Earth shapefiles and extract them to the defined location
  (typically user configurable).
  
  The keys which should be passed through when using the ``format_dict``
  are typically ``category``, ``resolution`` and ``name``.
class_docstr_tok: ["Specialise",":","class",":","`","cartopy.io.Downloader","`","to","download","the","zipped","Natural","Earth","shapefiles","and","extract","them","to","the","defined","location","(","typically","user","configurable",")",".","The","keys","which","should","be","passed","through","when","using","the","``","format_dict","``","are","typically","``","category","``",",","``","resolution","``","and","``","name","``","."]
docstr: Download the zip file and extracts the files listed in
  :meth:`zip_file_contents` to the target path.
code: def acquire_resource(self, target_path, format_dict):
      """
      Download the zip file and extracts the files listed in
      :meth:`zip_file_contents` to the target path.
  
      """
      from zipfile import ZipFile
  
      target_dir = Path(target_path).parent
      target_dir.mkdir(parents=True, exist_ok=True)
  
      url = self.url(format_dict)
  
      shapefile_online = self._urlopen(url)
  
      zfh = ZipFile(io.BytesIO(shapefile_online.read()), "r")
  
      for member_path in self.zip_file_contents(format_dict):
          member = zfh.getinfo(member_path.replace("\\", "/"))
          with open(
              target_path.with_suffix(Path(member_path).suffix), "wb"
          ) as fh:
              fh.write(zfh.open(member).read())
  
      shapefile_online.close()
      zfh.close()
  
      return target_path
  
imports: import io
  import itertools
  from pathlib import Path
  from urllib.error import HTTPError
  import shapefile
  import shapely.geometry
  from cartopy import config
  from cartopy.io import Downloader
label_desc: Use image node_id 3 for calling the NEShpDownloader obj's underlying member method code with example usage: obj.acquire_resource(target_path, format_dict) and returns: target_path