Source code for kingfisher_scrapy.spiders.spain_zaragoza

import scrapy

from kingfisher_scrapy.base_spiders import SimpleSpider
from kingfisher_scrapy.util import BROWSER_USER_AGENT, components


[docs] class SpainZaragoza(SimpleSpider): """ Domain Ayuntamiento de Zaragoza Caveats The API's before and after query string parameters have no effect and are therefore not implemented. Swagger API documentation https://www.zaragoza.es/docs-api_sede/ """ name = "spain_zaragoza" custom_settings = { "USER_AGENT": BROWSER_USER_AGENT, # to avoid HTTP 500 } # SimpleSpider data_type = "release_package" # Local url_prefix = "https://www.zaragoza.es/sede/servicio/contratacion-publica/ocds/contracting-process/" async def start(self): # `rows=100000` avoids pagination. yield scrapy.Request(f"{self.url_prefix}?rf=html&rows=100000", callback=self.parse_list) def parse_list(self, response): for item in response.json(): yield self.build_request(f"{self.url_prefix}{item['ocid']}", formatter=components(-1)) # ocid