Source code for kingfisher_scrapy.spiders.colombia_api
import scrapy
from kingfisher_scrapy.base_spiders import LinksSpider
from kingfisher_scrapy.util import parameters
[docs]
class ColombiaAPI(LinksSpider):
"""
Domain
Colombia Compra Eficiente (CCE)
Spider arguments
from_date
Download only data from this date onward (YYYY-MM-DD format). Defaults to '2011-01-01'.
until_date
Download only data until this date (YYYY-MM-DD format). Defaults to today.
API documentation
https://www.colombiacompra.gov.co/transparencia/api
Swagger API documentation
https://apiocds.colombiacompra.gov.co/apiCCE2.0/
"""
name = 'colombia_api'
# BaseSpider
default_from_date = '2011-01-01'
# The endpoint without date parameters also works but is slower.
date_required = True
# SimpleSpider
data_type = 'release_package'
# LinksSpider
formatter = staticmethod(parameters('_id'))
def start_requests(self):
from_date = self.from_date.strftime(self.date_format)
until_date = self.until_date.strftime(self.date_format)
url = f'https://apiocds.colombiacompra.gov.co/apiCCE2.0/rest/releases/dates/{from_date}/{until_date}'
yield scrapy.Request(url, meta={'file_name': f'{from_date}.json'})