Source code for kingfisher_scrapy.spiders.costa_rica_poder_judicial_releases
import scrapy
from kingfisher_scrapy.base_spiders import CompressedFileSpider
from kingfisher_scrapy.util import components, handle_http_error
[docs]
class CostaRicaPoderJudicialReleases(CompressedFileSpider):
"""
Domain
Poder Judicial de Costa Rica
Bulk download documentation
https://ckanpj.azurewebsites.net/dataset/estandar-de-datos-de-contrataciones-abiertas-ocds
"""
name = 'costa_rica_poder_judicial_releases'
# BaseSpider
validate_json = True
# SimpleSpider
data_type = 'release_package'
# CompressedFileSpider
# The ZIP file contains record packages and release packages. The filenames of release packages contain "-".
file_name_must_contain = '-'
def start_requests(self):
url = 'https://ckanpj.azurewebsites.net/api/3/action/package_show?id=estandar-de-datos-de-contrataciones' \
'-abiertas-ocds'
yield scrapy.Request(url, meta={'file_name': 'package_show.json'}, callback=self.parse_list)
@handle_http_error
def parse_list(self, response):
for resource in response.json()['result']['resources']:
if resource['format'].upper() == 'ZIP':
# Presently, only one URL matches.
yield self.build_request(resource['url'], formatter=components(-1))