C
|
ca
|
2025-09-18 04:19:29
|
2025-09-18 04:19:31
|
|
C
|
ca_ab
|
2025-09-18 04:48:59
|
2025-09-18 04:48:59
|
|
C
|
ca_ab_calgary
|
2025-09-18 04:51:52
|
2025-09-18 04:51:52
|
|
C
|
ca_ab_edmonton
|
2025-09-18 04:27:13
|
2025-09-18 04:27:13
|
|
C
|
ca_ab_grande_prairie
|
2025-09-18 04:25:03
|
2025-09-18 04:25:03
|
|
D>
|
ca_ab_grande_prairie_county_no_1
|
2025-07-15 04:33:22
|
2025-09-18 04:27:24
|
scrapelib.HTTPError: 404 while retrieving https://www.countygp.ab.ca/en/county-government/council.aspx
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_ab_grande_prairie_county_no_1/people.py", line 9, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 217, in lxmlize
response = self.get(url, cookies=cookies, verify=verify)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 619, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.countygp.ab.ca/en/county-government/council.aspx
|
C
|
ca_ab_lethbridge
|
2025-09-18 04:26:16
|
2025-09-18 04:26:16
|
|
C
|
ca_ab_strathcona_county
|
2025-09-18 04:02:15
|
2025-09-18 04:02:16
|
|
C
|
ca_ab_wood_buffalo
|
2025-09-18 04:03:00
|
2025-09-18 04:03:00
|
|
C
|
ca_bc
|
2025-09-18 04:25:01
|
2025-09-18 04:25:01
|
|
C
|
ca_bc_abbotsford
|
2025-09-18 04:33:49
|
2025-09-18 04:33:49
|
|
C
|
ca_bc_burnaby
|
2025-09-18 04:33:40
|
2025-09-18 04:33:40
|
|
C
|
ca_bc_coquitlam
|
2025-09-18 04:27:23
|
2025-09-18 04:27:23
|
|
C
|
ca_bc_kelowna
|
2025-09-18 04:52:18
|
2025-09-18 04:52:18
|
|
C
|
ca_bc_langley
|
2025-09-18 04:50:33
|
2025-09-18 04:50:33
|
|
C
|
ca_bc_langley_city
|
2025-09-18 04:03:59
|
2025-09-18 04:03:59
|
|
C
|
ca_bc_new_westminster
|
2025-09-18 04:02:31
|
2025-09-18 04:02:31
|
|
C
|
ca_bc_richmond
|
2025-09-18 04:24:28
|
2025-09-18 04:24:28
|
|
C
|
ca_bc_saanich
|
2025-09-18 04:51:12
|
2025-09-18 04:51:12
|
|
C
|
ca_bc_surrey
|
2025-09-18 04:50:58
|
2025-09-18 04:50:58
|
|
C
|
ca_bc_vancouver
|
2025-09-18 04:47:24
|
2025-09-18 04:47:24
|
|
C
|
ca_bc_victoria
|
2025-09-18 04:33:04
|
2025-09-18 04:33:04
|
|
D>
04:25:39 ERROR ca_candidates.people:
04:25:39 ERROR ca_candidates.people:
04:25:39 ERROR ca_candidates.people:
04:25:39 ERROR ca_candidates.people:
04:25:39 ERROR ca_candidates.people:
04:25:39 ERROR ca_candidates.people:
04:25:39 ERROR ca_candidates.people:
04:25:40 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/2 (https://www.greenparty.ca/en/candidates/page/2)
04:25:41 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/3 (https://www.greenparty.ca/en/candidates/page/3)
04:25:42 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/4 (https://www.greenparty.ca/en/candidates/page/4)
04:25:43 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/5 (https://www.greenparty.ca/en/candidates/page/5)
04:25:44 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/6 (https://www.greenparty.ca/en/candidates/page/6)
04:25:45 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/7 (https://www.greenparty.ca/en/candidates/page/7)
04:25:46 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/8 (https://www.greenparty.ca/en/candidates/page/8)
04:25:47 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/9 (https://www.greenparty.ca/en/candidates/page/9)
04:25:48 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/10 (https://www.greenparty.ca/en/candidates/page/10)
04:25:49 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/11 (https://www.greenparty.ca/en/candidates/page/11)
04:25:50 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/12 (https://www.greenparty.ca/en/candidates/page/12)
04:25:51 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/13 (https://www.greenparty.ca/en/candidates/page/13)
04:25:52 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/14 (https://www.greenparty.ca/en/candidates/page/14)
04:25:53 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/15 (https://www.greenparty.ca/en/candidates/page/15)
04:25:54 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/16 (https://www.greenparty.ca/en/candidates/page/16)
04:25:55 WARNING ca_candidates.people: 404 while retrieving https://www.greenparty.ca/en/candidates/page/17 (https://www.greenparty.ca/en/candidates/page/17)
|
ca_candidates
|
2025-04-29 04:39:17
|
2025-09-18 04:25:57
|
scrapelib.HTTPError: 404 while retrieving https://www.conservative.ca/candidates
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_candidates/people.py", line 162, in scrape
for p in getattr(self, f"scrape_{party}")():
File "/app/scrapers/ca_candidates/people.py", line 425, in scrape_conservative
page = self.lxmlize(start_url)
File "/app/scrapers/utils.py", line 217, in lxmlize
response = self.get(url, cookies=cookies, verify=verify)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 619, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.conservative.ca/candidates
|
C
|
ca_mb
|
2025-09-18 04:01:44
|
2025-09-18 04:01:46
|
|
D>
04:28:51 WARNING scrapelib: got HTTPConnectionPool(host='winnipeg.ca', port=80): Max retries exceeded with url: /council/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f05a3f999f0>, 'Connection to winnipeg.ca timed out. (connect timeout=60)')) sleeping for 10 seconds before retry
04:30:01 WARNING scrapelib: got HTTPConnectionPool(host='winnipeg.ca', port=80): Max retries exceeded with url: /council/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f05a3f9ba30>, 'Connection to winnipeg.ca timed out. (connect timeout=60)')) sleeping for 20 seconds before retry
04:31:21 WARNING scrapelib: got HTTPConnectionPool(host='winnipeg.ca', port=80): Max retries exceeded with url: /council/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f05a3f9b520>, 'Connection to winnipeg.ca timed out. (connect timeout=60)')) sleeping for 40 seconds before retry
|
ca_mb_winnipeg
|
2025-08-29 04:42:23
|
2025-09-18 04:33:01
|
requests.exceptions.ConnectTimeout: HTTPConnectionPool(host='winnipeg.ca', port=80): Max retries exceeded with url: /council…
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connection.py", line 494, in request
self.endheaders()
File "/app/.heroku/python/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/app/.heroku/python/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/app/.heroku/python/lib/python3.10/http/client.py", line 976, in send
self.connect()
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connection.py", line 325, in connect
self.sock = self._new_conn()
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connection.py", line 207, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPConnection object at 0x7f05a3f99e70>, 'Connection to winnipeg.ca timed out. (connect timeout=60)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
File "/app/.heroku/python/lib/python3.10/site-packages/urllib3/util/retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='winnipeg.ca', port=80): Max retries exceeded with url: /council/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f05a3f99e70>, 'Connection to winnipeg.ca timed out. (connect timeout=60)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_mb_winnipeg/people.py", line 16, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 217, in lxmlize
response = self.get(url, cookies=cookies, verify=verify)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 596, in request
resp = super().request(
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 411, in request
resp = super().request(
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 239, in request
return super().request(
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 182, in request
raise exception_raised
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 124, in request
resp = super().request(
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/adapters.py", line 688, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPConnectionPool(host='winnipeg.ca', port=80): Max retries exceeded with url: /council/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f05a3f99e70>, 'Connection to winnipeg.ca timed out. (connect timeout=60)'))
|
C
|
ca_nb
|
2025-09-18 04:38:58
|
2025-09-18 04:38:58
|
|
C
|
ca_nb_fredericton
|
2025-09-18 04:33:24
|
2025-09-18 04:33:24
|
|
C
|
ca_nb_moncton
|
2025-09-18 04:02:55
|
2025-09-18 04:02:55
|
|
C
|
ca_nb_saint_john
|
2025-09-18 04:23:44
|
2025-09-18 04:23:44
|
|
D>
04:04:24 WARNING pupa: validation of CanadianPerson 8feec33e-9444-11f0-be91-723f21e29d02 failed: 1 validation errors:
Value ' ' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)\\Z', flags=regex.V0)'
|
ca_nl
|
2025-09-15 04:33:31
|
2025-09-18 04:04:24
|
Value ' ' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller…
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.10/site-packages/validictory/validator.py", line 616, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value ' ' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)\\Z', flags=regex.V0)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 177, in validate
raise ScrapeValueError('validation of {} {} failed: {}'.format(
pupa.exceptions.ScrapeValueError: validation of CanadianPerson 8feec33e-9444-11f0-be91-723f21e29d02 failed: 1 validation errors:
Value ' ' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)\\Z', flags=regex.V0)'
|
C
|
ca_nl_st_john_s
|
2025-09-18 04:27:38
|
2025-09-18 04:27:38
|
|
C
|
ca_ns
|
2025-09-18 04:20:42
|
2025-09-18 04:20:42
|
|
C
|
ca_ns_cape_breton
|
2025-09-18 04:51:50
|
2025-09-18 04:51:50
|
|
C
|
ca_ns_halifax
|
2025-09-18 04:49:32
|
2025-09-18 04:49:32
|
|
C
|
ca_nt
|
2025-09-18 04:51:35
|
2025-09-18 04:51:35
|
|
A
|
ca_nu
|
2025-09-18 04:24:12
|
2025-09-18 04:24:12
|
|
C
|
ca_on
|
2025-09-18 04:23:31
|
2025-09-18 04:23:31
|
|
C
|
ca_on_ajax
|
2025-09-18 04:03:56
|
2025-09-18 04:03:56
|
|
C
|
ca_on_belleville
|
2025-09-18 04:00:36
|
2025-09-18 04:00:36
|
|
C
|
ca_on_brampton
|
2025-09-18 04:34:01
|
2025-09-18 04:34:01
|
|
C
|
ca_on_brantford
|
2025-09-18 04:49:34
|
2025-09-18 04:49:34
|
|
C
|
ca_on_burlington
|
2025-09-18 04:39:10
|
2025-09-18 04:39:10
|
|
C
|
ca_on_caledon
|
2025-09-18 04:26:36
|
2025-09-18 04:26:36
|
|
C
|
ca_on_cambridge
|
2025-09-18 04:26:54
|
2025-09-18 04:26:54
|
|
C
|
ca_on_chatham_kent
|
2025-09-18 04:52:14
|
2025-09-18 04:52:14
|
|
C
|
ca_on_clarington
|
2025-09-18 04:33:06
|
2025-09-18 04:33:06
|
|
C
|
ca_on_fort_erie
|
2025-09-18 04:35:37
|
2025-09-18 04:35:37
|
|
C
|
ca_on_georgina
|
2025-09-18 04:19:37
|
2025-09-18 04:19:37
|
|
C
|
ca_on_greater_sudbury
|
2025-09-18 04:27:41
|
2025-09-18 04:27:41
|
|
C
|
ca_on_grimsby
|
2025-09-18 04:33:53
|
2025-09-18 04:33:53
|
|
C
|
ca_on_guelph
|
2025-09-18 04:45:35
|
2025-09-18 04:45:35
|
|
C
|
ca_on_haldimand_county
|
2025-09-18 04:26:37
|
2025-09-18 04:26:37
|
|
D>
04:50:23 WARNING pupa: validation of CanadianPerson fcdf8d60-944a-11f0-be91-723f21e29d02 failed: 1 validation errors:
Value 'Vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)\\Z', flags=regex.V0)'
|
ca_on_hamilton
|
2025-07-02 04:38:31
|
2025-09-18 04:50:23
|
Value 'Vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller…
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.10/site-packages/validictory/validator.py", line 616, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value 'Vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)\\Z', flags=regex.V0)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 177, in validate
raise ScrapeValueError('validation of {} {} failed: {}'.format(
pupa.exceptions.ScrapeValueError: validation of CanadianPerson fcdf8d60-944a-11f0-be91-723f21e29d02 failed: 1 validation errors:
Value 'Vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|St\\.|Van|Vander?|van|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|[ᐁᐃᐄᐅᐆᐊᐋᐯᐱᐲᐳᐴᐸᐹᑉᑊᑌᑎᑏᑐᑑᑕᑖᑦᑫᑭᑮᑯᑰᑲᑳᒃᒉᒋᒌᒍᒎᒐᒑᒡᒣᒥᒦᒧᒨᒪᒫᒻᓀᓂᓃᓄᓅᓇᓈᓐᓓᓕᓖᓗᓘᓚᓛᓪᓭᓯᓰᓱᓲᓴᓵᔅᔦᔨᔩᔪᔫᔭᔮᔾᕂᕆᕇᕈᕉᕋᕌᕐᕓᕕᕖᕗᕘᕙᕚᕝᕴᕵᕶᕷᕸᕹᕺᕻᕼᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᖖᖠᖡᖢᖣᖤᖥᖦᖨᖩᖪᖫᖬᖭᖮᖯᙯᙰᙱᙲᙳᙴᙵᙶ\U00011ab0\U00011ab1\U00011ab2\U00011ab3\U00011ab4\U00011ab5\U00011ab6\U00011ab7\U00011ab8\U00011ab9\U00011aba\U00011abb]+|Á\'a:líya|A\'aliya|Ch\'ng|Prud\'homme|Qwulti\'stunaat|Ya\'ara|D!ONNE|ChiefCalf|IsaBelle)\\Z', flags=regex.V0)'
|
C
|
ca_on_huron
|
2025-09-18 04:51:03
|
2025-09-18 04:51:03
|
|
C
|
ca_on_kawartha_lakes
|
2025-09-18 04:39:02
|
2025-09-18 04:39:02
|
|
C
|
ca_on_king
|
2025-09-18 04:02:24
|
2025-09-18 04:02:25
|
|
C
|
ca_on_kingston
|
2025-09-18 04:46:10
|
2025-09-18 04:46:10
|
|
C
|
ca_on_kitchener
|
2025-09-18 04:45:36
|
2025-09-18 04:45:36
|
|
C
|
ca_on_lambton
|
2025-09-18 04:39:13
|
2025-09-18 04:39:13
|
|
C
|
ca_on_lasalle
|
2025-09-18 04:20:49
|
2025-09-18 04:20:50
|
|
C
|
ca_on_lincoln
|
2025-09-18 04:52:19
|
2025-09-18 04:52:19
|
|
C
|
ca_on_london
|
2025-09-18 04:33:25
|
2025-09-18 04:33:25
|
|
D>
|
ca_on_markham
|
2025-07-04 04:13:21
|
2025-09-18 04:33:08
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 101, in do_scrape
for iterobj in obj:
File "/app/scrapers/ca_on_markham/people.py", line 97, in scrape_mayor
p.image = page.xpath('.//div[@class="align-right media--image"]/div/img/@src')[0]
IndexError: list index out of range
|
C
|
ca_on_milton
|
2025-09-18 04:51:10
|
2025-09-18 04:51:10
|
|
C
|
ca_on_mississauga
|
2025-09-18 04:25:22
|
2025-09-18 04:25:22
|
|
C
|
ca_on_newmarket
|
2025-09-18 04:35:33
|
2025-09-18 04:35:33
|
|
C
|
ca_on_niagara
|
2025-09-18 04:20:55
|
2025-09-18 04:20:55
|
|
C
|
ca_on_niagara_on_the_lake
|
2025-09-18 04:23:36
|
2025-09-18 04:23:36
|
|
D>
|
ca_on_north_dumfries
|
2025-06-19 04:19:39
|
2025-09-18 04:02:19
|
scrapelib.HTTPError: 404 while retrieving https://www.northdumfries.ca/en/township-services/mayor-and-council.aspx
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_north_dumfries/people.py", line 11, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 217, in lxmlize
response = self.get(url, cookies=cookies, verify=verify)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 619, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.northdumfries.ca/en/township-services/mayor-and-council.aspx
|
C
|
ca_on_oakville
|
2025-09-18 04:26:02
|
2025-09-18 04:26:02
|
|
C
|
ca_on_oshawa
|
2025-09-18 04:52:15
|
2025-09-18 04:52:15
|
|
D>
04:35:52 WARNING scrapelib: sleeping for 10 seconds before retry
04:36:02 WARNING scrapelib: sleeping for 20 seconds before retry
04:36:22 WARNING scrapelib: sleeping for 40 seconds before retry
|
ca_on_ottawa
|
2025-06-26 04:31:47
|
2025-09-18 04:37:02
|
scrapelib.HTTPError: 400 while retrieving https://www.arcgis.com/sharing/rest/content/items/a5e9dc2425274bb796d3ded47b0d7b00…
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 386, in scrape
binary = BytesIO(self.get(self.csv_url).content)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 619, in request
raise HTTPError(resp)
scrapelib.HTTPError: 400 while retrieving https://www.arcgis.com/sharing/rest/content/items/a5e9dc2425274bb796d3ded47b0d7b00/data
|
C
|
ca_on_peel
|
2025-09-18 04:24:30
|
2025-09-18 04:24:30
|
|
C
|
ca_on_pickering
|
2025-09-18 04:35:35
|
2025-09-18 04:35:35
|
|
C
|
ca_on_richmond_hill
|
2025-09-18 04:35:51
|
2025-09-18 04:35:51
|
|
C
|
ca_on_sault_ste_marie
|
2025-09-18 04:49:11
|
2025-09-18 04:49:11
|
|
C
|
ca_on_st_catharines
|
2025-09-18 04:52:17
|
2025-09-18 04:52:17
|
|
C
|
ca_on_thunder_bay
|
2025-09-18 04:02:52
|
2025-09-18 04:02:52
|
|
C
|
ca_on_toronto
|
2025-09-18 04:49:42
|
2025-09-18 04:49:42
|
|
C
|
ca_on_uxbridge
|
2025-09-18 04:37:04
|
2025-09-18 04:37:04
|
|
C
|
ca_on_vaughan
|
2025-09-18 04:03:54
|
2025-09-18 04:03:54
|
|
C
|
ca_on_waterloo
|
2025-09-18 04:52:22
|
2025-09-18 04:52:22
|
|
C
|
ca_on_waterloo_region
|
2025-09-18 04:46:09
|
2025-09-18 04:46:09
|
|
C
|
ca_on_welland
|
2025-09-18 04:26:51
|
2025-09-18 04:26:51
|
|
D>
|
ca_on_wellesley
|
2025-09-11 04:47:48
|
2025-09-18 04:24:16
|
scrapelib.HTTPError: 404 while retrieving https://www.wellesley.ca/council/councillors/?q=council/councillors
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_wellesley/people.py", line 15, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 217, in lxmlize
response = self.get(url, cookies=cookies, verify=verify)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 619, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.wellesley.ca/council/councillors/?q=council/councillors
|
D>
|
ca_on_whitby
|
2025-09-12 04:03:37
|
2025-09-18 04:24:56
|
ValueError: not enough values to unpack (expected 2, got 1)
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_whitby/people.py", line 23, in scrape
name, role = name.split(", ")
ValueError: not enough values to unpack (expected 2, got 1)
|
C
|
ca_on_whitchurch_stouffville
|
2025-09-18 04:35:40
|
2025-09-18 04:35:40
|
|
C
|
ca_on_wilmot
|
2025-09-18 04:47:23
|
2025-09-18 04:47:23
|
|
C
|
ca_on_windsor
|
2025-09-18 04:26:49
|
2025-09-18 04:26:49
|
|
C
|
ca_on_woolwich
|
2025-09-18 04:49:12
|
2025-09-18 04:49:12
|
|
C
|
ca_pe
|
2025-09-18 04:50:13
|
2025-09-18 04:50:14
|
|
C
|
ca_pe_charlottetown
|
2025-09-18 04:49:44
|
2025-09-18 04:49:44
|
|
C
|
ca_pe_stratford
|
2025-09-18 04:39:01
|
2025-09-18 04:39:01
|
|
C
|
ca_pe_summerside
|
2025-09-18 04:33:45
|
2025-09-18 04:33:45
|
|
C
|
ca_qc
|
2025-09-18 04:45:33
|
2025-09-18 04:45:33
|
|
C
|
ca_qc_beaconsfield
|
2025-09-18 04:24:32
|
2025-09-18 04:24:32
|
|
D>
04:39:11 WARNING pupa: validation of CanadianPerson 6c20d91a-9449-11f0-be91-723f21e29d02 failed: 1 validation errors:
Value "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20341%20400'%3E%3C/svg%3E" for field '<obj>.image' does not match regular expression '\A(?:(?:ftp|https?)://|\Z)'
|
ca_qc_brossard
|
2025-08-13 04:18:40
|
2025-09-18 04:39:11
|
Value "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20341%20400'%3E%3C/svg%3E" for field …
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.10/site-packages/validictory/validator.py", line 616, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20341%20400'%3E%3C/svg%3E" for field '<obj>.image' does not match regular expression '\A(?:(?:ftp|https?)://|\Z)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 177, in validate
raise ScrapeValueError('validation of {} {} failed: {}'.format(
pupa.exceptions.ScrapeValueError: validation of CanadianPerson 6c20d91a-9449-11f0-be91-723f21e29d02 failed: 1 validation errors:
Value "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20341%20400'%3E%3C/svg%3E" for field '<obj>.image' does not match regular expression '\A(?:(?:ftp|https?)://|\Z)'
|
C
|
ca_qc_cote_saint_luc
|
2025-09-18 04:33:56
|
2025-09-18 04:33:56
|
|
C
|
ca_qc_dollard_des_ormeaux
|
2025-09-18 04:49:36
|
2025-09-18 04:49:36
|
|
C
|
ca_qc_dorval
|
2025-09-18 04:02:34
|
2025-09-18 04:02:34
|
|
C
|
ca_qc_gatineau
|
2025-09-18 04:02:11
|
2025-09-18 04:02:11
|
|
C
|
ca_qc_kirkland
|
2025-09-18 04:00:39
|
2025-09-18 04:00:39
|
|
C
|
ca_qc_laval
|
2025-09-18 04:24:35
|
2025-09-18 04:24:35
|
|
C
|
ca_qc_levis
|
2025-09-18 04:27:49
|
2025-09-18 04:27:49
|
|
C
|
ca_qc_longueuil
|
2025-09-18 04:35:32
|
2025-09-18 04:35:32
|
|
C
|
ca_qc_mercier
|
2025-09-18 04:26:04
|
2025-09-18 04:26:04
|
|
C
|
ca_qc_montreal
|
2025-09-18 04:25:08
|
2025-09-18 04:25:08
|
|
C
|
ca_qc_montreal_est
|
2025-09-18 04:49:40
|
2025-09-18 04:49:40
|
|
C
|
ca_qc_pointe_claire
|
2025-09-18 04:52:20
|
2025-09-18 04:52:20
|
|
C
|
ca_qc_quebec
|
2025-09-18 04:26:53
|
2025-09-18 04:26:53
|
|
D>
|
ca_qc_saguenay
|
2025-08-27 04:01:52
|
2025-09-18 04:27:28
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_saguenay/people.py", line 15, in scrape
name = mayor_page.xpath('//a[contains(., "maire")]/span/text()')[0]
IndexError: list index out of range
|
C
|
ca_qc_sainte_anne_de_bellevue
|
2025-09-18 04:26:06
|
2025-09-18 04:26:06
|
|
C
|
ca_qc_saint_jean_sur_richelieu
|
2025-09-18 04:45:51
|
2025-09-18 04:45:51
|
|
C
|
ca_qc_saint_jerome
|
2025-09-18 04:26:00
|
2025-09-18 04:26:00
|
|
C
|
ca_qc_senneville
|
2025-09-18 04:20:45
|
2025-09-18 04:20:45
|
|
C
|
ca_qc_sherbrooke
|
2025-09-18 04:24:54
|
2025-09-18 04:24:54
|
|
D>
04:46:11 WARNING scrapelib: sleeping for 10 seconds before retry
04:46:21 WARNING scrapelib: sleeping for 20 seconds before retry
04:46:41 WARNING scrapelib: sleeping for 40 seconds before retry
|
ca_qc_terrebonne
|
|
2025-09-18 04:47:21
|
scrapelib.HTTPError: 403 while retrieving https://terrebonne.ca/membres-du-conseil-municipal/
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_terrebonne/people.py", line 9, in scrape
page = self.lxmlize(COUNCIL_PAGE, user_agent=CUSTOM_USER_AGENT)
File "/app/scrapers/utils.py", line 217, in lxmlize
response = self.get(url, cookies=cookies, verify=verify)
File "/app/scrapers/utils.py", line 198, in get
return super().get(*args, verify=kwargs.pop("verify", SSL_VERIFY), **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/app/.heroku/python/lib/python3.10/site-packages/scrapelib/__init__.py", line 619, in request
raise HTTPError(resp)
scrapelib.HTTPError: 403 while retrieving https://terrebonne.ca/membres-du-conseil-municipal/
|
C
|
ca_qc_trois_rivieres
|
2025-09-18 04:34:18
|
2025-09-18 04:34:18
|
|
C
|
ca_qc_westmount
|
2025-09-18 04:27:42
|
2025-09-18 04:27:42
|
|
C
|
ca_sk
|
2025-09-18 04:38:08
|
2025-09-18 04:38:08
|
|
C
|
ca_sk_regina
|
2025-09-18 04:50:47
|
2025-09-18 04:50:47
|
|
C
|
ca_sk_saskatoon
|
2025-09-18 04:04:22
|
2025-09-18 04:04:22
|
|
D>
|
ca_yt
|
|
2025-09-18 04:51:13
|
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://yukonassembly.ca/mlas
Traceback (most recent call last):
File "/app/reports/utils.py", line 73, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/python/lib/python3.10/site-packages/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_yt/people.py", line 11, in scrape
page = self.cloudscrape(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 205, in cloudscrape
response.raise_for_status()
File "/app/.heroku/python/lib/python3.10/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://yukonassembly.ca/mlas
|