Source code for kingfisher_scrapy.spiders.nigeria_enugu_state

import scrapy

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


[docs] class NigeriaEnuguState(SimpleSpider): """ Domain Nigeria Enugu State Open Contracting Portal Bulk download documentation https://dueprocess.en.gov.ng/ocds_report.php """ name = 'nigeria_enugu_state' # BaseSpider validate_json = True # SimpleSpider data_type = 'release_package' # Local url_prefix = 'https://dueprocess.en.gov.ng/' def start_requests(self): url = f'{self.url_prefix}ocds_report.php/' yield scrapy.Request(url, meta={'file_name': 'list.html'}, callback=self.parse_list) @handle_http_error def parse_list(self, response): pattern = '//table[@id="contractTable"]/tbody/tr/td[3]/a/@href' for item in response.xpath(pattern).getall(): yield self.build_request(f'{self.url_prefix}{item}', formatter=components(-1))