Skip to content

Commit 6cfa321

Browse files
Merge pull request #5685 from openstates/de-bills-add-pagination-args
DE: bills: add pagination arguments to help reduce impact of failures
2 parents 064ca23 + 90b2a95 commit 6cfa321

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

scrapers/de/bills.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ def decode_and_retry_request(
7272
else:
7373
return None
7474

75-
def scrape(self, session=None):
75+
def scrape(self, session=None, start_page=1, end_page=None):
76+
start_page = int(start_page)
77+
if end_page:
78+
end_page = int(end_page)
7679
self.headers = {
7780
"x-oxylabs-force-headers": "1",
7881
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
@@ -104,7 +107,7 @@ def scrape(self, session=None):
104107
per_page = 20
105108

106109
bills_and_votes = []
107-
page_number = 1
110+
page_number = start_page
108111
while True:
109112
post_search = partial(
110113
self.post_search,
@@ -119,6 +122,11 @@ def scrape(self, session=None):
119122
for bill in page["Data"]:
120123
bills_and_votes.extend(list(self.scrape_bill(bill, session)))
121124
page_number += 1
125+
if end_page and page_number > end_page:
126+
self.info(
127+
f"Stopping bills fetch at the specified ending page number {end_page}"
128+
)
129+
break
122130
yield from self.filter_bills(bills_and_votes)
123131

124132
def filter_bills(self, items):

0 commit comments

Comments
 (0)