2026-03-26 12:09:14 [vpauto.fr] ERROR: Error parsing ad details: replace() argument 1 must be str, not None
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 129, in _after_details_page_opened
model = self._extract_model(response, ad_make)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 203, in _extract_model
return response.css(".vehicle-detail h1::text").get().replace(ad_make, "")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 1 must be str, not None
2026-03-26 12:09:14 [vpauto.fr] ERROR: An error occurred:
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 129, in _after_details_page_opened
model = self._extract_model(response, ad_make)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 203, in _extract_model
return response.css(".vehicle-detail h1::text").get().replace(ad_make, "")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 1 must be str, not None
2026-03-26 12:09:21 [vpauto.fr] ERROR: Error parsing ad details: time data 'Unknown' does not match format '%d/%m/%Y'
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 133, in _after_details_page_opened
registration_date = self._extract_registration_date(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 257, in _extract_registration_date
return datetime.strptime(date_str.strip(), "%d/%m/%Y").date().isoformat()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data 'Unknown' does not match format '%d/%m/%Y'
2026-03-26 12:09:21 [vpauto.fr] ERROR: An error occurred:
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 133, in _after_details_page_opened
registration_date = self._extract_registration_date(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 257, in _extract_registration_date
return datetime.strptime(date_str.strip(), "%d/%m/%Y").date().isoformat()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data 'Unknown' does not match format '%d/%m/%Y'
2026-03-26 12:09:27 [vpauto.fr] ERROR: Error parsing ad details: replace() argument 1 must be str, not None
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 129, in _after_details_page_opened
model = self._extract_model(response, ad_make)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 203, in _extract_model
return response.css(".vehicle-detail h1::text").get().replace(ad_make, "")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 1 must be str, not None
2026-03-26 12:09:27 [vpauto.fr] ERROR: An error occurred:
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 129, in _after_details_page_opened
model = self._extract_model(response, ad_make)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 203, in _extract_model
return response.css(".vehicle-detail h1::text").get().replace(ad_make, "")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 1 must be str, not None
2026-03-26 12:09:28 [vpauto.fr] ERROR: Error parsing ad details: time data 'Unknown' does not match format '%d/%m/%Y'
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 133, in _after_details_page_opened
registration_date = self._extract_registration_date(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 257, in _extract_registration_date
return datetime.strptime(date_str.strip(), "%d/%m/%Y").date().isoformat()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data 'Unknown' does not match format '%d/%m/%Y'
2026-03-26 12:09:28 [vpauto.fr] ERROR: An error occurred:
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 133, in _after_details_page_opened
registration_date = self._extract_registration_date(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 257, in _extract_registration_date
return datetime.strptime(date_str.strip(), "%d/%m/%Y").date().isoformat()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data 'Unknown' does not match format '%d/%m/%Y'
2026-03-26 14:00:09 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fbb85ca2790>
2026-03-26 14:00:09 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fbb85ca2c50>