Skip to content

Commit

Permalink
kenya makueni spider improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
Ravf95 committed Sep 6, 2021
1 parent 81bc230 commit 0c3f11b
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions kingfisher_scrapy/spiders/kenya_makueni.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,19 @@ class KenyaMakueni(SimpleSpider):
# SimpleSpider
data_type = 'release_package'

step = 100
url = 'https://opencontracting.makueni.go.ke/api/ocds/package/all?pageSize={0}&pageNumber={1}'

def start_requests(self):
yield self.build_request(self.url.format(self.step, 0),
self.get_formatter(), meta={'page': 0}, callback=self.parse_list)
yield from self.request_page()

@handle_http_error
def parse_list(self, response):
page = response.request.meta['page']
yield self.build_file_from_response(response, data_type=self.data_type)
def parse(self, response):
yield from super().parse(response)

if len(response.json()) > 0:
yield self.build_request(self.url.format(self.step, page + 1),
self.get_formatter(), meta={'page': page + 1}, callback=self.parse_list)
page = response.request.meta['page']
yield from self.request_page(page + 1)

def request_page(self, page=0):
step = 1000
url = 'https://opencontracting.makueni.go.ke/api/ocds/package/all?pageSize={0}&pageNumber={1}'

def get_formatter(self):
return parameters('pageNumber')
yield self.build_request(url.format(step, page), parameters('pageNumber'), meta={'page': page})

0 comments on commit 0c3f11b

Please sign in to comment.