Source code for kingfisher_scrapy.spiders.honduras_sefin_api
from kingfisher_scrapy.base_spiders import PeriodicSpider
from kingfisher_scrapy.util import components, handle_http_error
[docs]
class HondurasSEFINAPI(PeriodicSpider):
"""
Domain
Secretaria de Finanzas de Honduras (SEFIN)
Caveats
The API returns HTTP 500 error for the data between 2012 and 2018,
however, these datasets are available in the bulk download method.
Spider arguments
from_date
Download only data from this year onward (YYYY format). Defaults to '2019'.
until_date
Download only data until this year (YYYY format). Defaults to the current year.
Bulk download documentation
https://www.sefin.gob.hn/edca/
Swagger API documentation
https://guancasco.sefin.gob.hn/EDCA_WEBAPI/swagger/ui/index
"""
name = 'honduras_sefin_api'
# BaseSpider
date_format = 'year'
default_from_date = '2019'
# SimpleSpider
data_type = 'release_package'
# PeriodicSpider
pattern = 'https://guancasco.sefin.gob.hn/EDCA_WEBAPI/api/listaOcids/{}'
formatter = staticmethod(components(-1)) # year
@handle_http_error
def parse(self, response):
data = response.json()
for url in data:
# URL looks like https://guancasco.sefin.gob.hn/EDCA_WEBAPI/api/releasePackage/P2022-3-1-197
yield self.build_request(url, formatter=self.formatter, callback=super().parse)