Head
2026-01-28 12:38:29 [scrapy.utils.log] INFO: Scrapy 2.11.2 started (bot: SourcingV2)
2026-01-28 12:38:29 [scrapy.utils.log] INFO: Versions: lxml 5.2.2.0, libxml2 2.12.6, cssselect 1.2.0, parsel 1.9.1, w3lib 2.1.2, Twisted 24.3.0, Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0], pyOpenSSL 24.1.0 (OpenSSL 3.2.1 30 Jan 2024), cryptography 42.0.7, Platform Linux-5.15.0-1098-azure-x86_64-with-glibc2.36
2026-01-28 12:38:29 [auto_selling_leboncoin.fr] INFO: Starting auto_selling_leboncoin.fr spider
2026-01-28 12:38:29 [auto_selling_leboncoin.fr] INFO: _job: 2579a790fc3011f0a599c2c555c92d63, SCRAPY_JOB: None
2026-01-28 12:38:29 [scrapy.addons] INFO: Enabled addons:
[]
2026-01-28 12:38:29 [asyncio] DEBUG: Using selector: EpollSelector
2026-01-28 12:38:29 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-01-28 12:38:29 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-01-28 12:38:29 [scrapy.extensions.telnet] INFO: Telnet Password: 79eaf780dc79787a
2026-01-28 12:38:29 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
'scrapy.extensions.telnet.TelnetConsole',
'scrapy.extensions.memusage.MemoryUsage',
'scrapy.extensions.feedexport.FeedExporter',
'scrapy.extensions.logstats.LogStats',
'scrapy.extensions.closespider.CloseSpider']
2026-01-28 12:38:29 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'SourcingV2',
'CLOSESPIDER_TIMEOUT': 3600,
'CONCURRENT_REQUESTS': 5,
'FEED_EXPORT_ENCODING': 'utf-8',
'LOG_FILE': '/var/log/scrapyd/logs/sourcing_v2/auto_selling_leboncoin.fr/2579a790fc3011f0a599c2c555c92d63.log',
'LOG_FORMATTER': 'crawlers.log_formatter.SourcingLogFormatter',
'NEWSPIDER_MODULE': 'spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7',
'SPIDER_MODULES': ['spiders', 'auth_check'],
'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor',
'USER_AGENT': ''}
2026-01-28 12:38:29 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
2026-01-28 12:38:29 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
2026-01-28 12:38:29 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
'scrapy.downloadermiddlewares.retry.RetryMiddleware',
'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
'scrapy.downloadermiddlewares.stats.DownloaderStats']
2026-01-28 12:38:29 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Setting up IdGenerationMiddleware for auto_selling
2026-01-28 12:38:29 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
'scrapy.spidermiddlewares.referer.RefererMiddleware',
'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
'scrapy.spidermiddlewares.depth.DepthMiddleware',
'crawlers.middlewares.photo_download_middleware.PhotoDownloadMiddleware',
'crawlers.auto_selling.middlewares.id_gen_middleware.IdGenMiddleware']
2026-01-28 12:38:29 [scrapy.middleware] INFO: Enabled item pipelines:
['crawlers.pipelines.post_to_azurebus_auto_selling.AzureBusPipelineAutoSelling',
'crawlers.pipelines.save_to_cdlq_db_auto_selling.SaveToCdlqDbAutoSelling']
2026-01-28 12:38:29 [scrapy.core.engine] INFO: Spider opened
2026-01-28 12:38:29 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
2026-01-28 12:38:29 [common.service_bus.service_bus_client_factory] INFO: ServiceBusClient initialized via DefaultAzureCredential for alx-production-bus.servicebus.windows.net
2026-01-28 12:38:29 [crawlers.pipelines.base_azure_bus_pipeline] INFO: [AzureBusPipeline] Connected to topic auto.sourcing-v2
2026-01-28 12:38:29 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-01-28 12:38:29 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6029
2026-01-28 12:38:29 [scrapy-playwright] INFO: Starting download handler
2026-01-28 12:38:29 [scrapy-playwright] INFO: Starting download handler
2026-01-28 12:38:34 [auto_selling_leboncoin.fr] INFO: Scraper started with URL: https://www.leboncoin.fr/boutique/1195032/mn-luxury-cars.htm and multipost_profile_id: 48f42cdc-ff7d-4c80-b24b-f0eb7f7c786b and job_id: 2579a790fc3011f0a599c2c555c92d63
2026-01-28 12:38:34 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-01-28 12:38:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.leboncoin.fr/boutique/1195032/mn-luxury-cars.htm> (referer: https://www.leboncoin.fr/boutique/1195032/mn-luxury-cars.htm) ['zyte-api']
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: Captured Zyte cookies: [{'name': 'ry_ry-l3b0nco_realytics', 'value': 'eyJpZCI6InJ5XzIxMzgwRjZCLTFERTctNDA0NC04NEM3LTdCNDMyN0MxMTIxMyIsImNpZCI6bnVsbCwiZXhwIjoxODAxMTM5OTI1NjA2LCJjcyI6bnVsbH0%3D', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1801139925, 'httpOnly': False, 'secure': False}, {'name': '_pctx', 'value': '%7Bu%7DN4IgrgzgpgThIC4B2YA2qA05owMoBcBDfSREQpAeyRCwgEt8oBJAE0RXSwH18ykADAFsAZlABeAawAcAHyGSAngIAW9adJABfIA', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1803731923, 'httpOnly': False, 'secure': True}, {'name': '_pcid', 'value': '%7B%22browserId%22%3A%22mky0hfy0cbhx2na5%22%2C%22_t%22%3A%22n0mfezk7%7Cmky0hi87%22%7D', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1803731923, 'httpOnly': False, 'secure': True}, {'name': 'datadome', 'value': 'zQl~Qj3PELrlaiqQlhIw3WlLLpuRt6zPCKvCeC7Ona7lIkH2jqBReSSoWmaPi49VeY1hRCXggAWa6O2SXVb5fUNQpOLGtPTaLXF_kkYtY7vh99gcyG3IFVmTTImcaqdd', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1801139932, 'httpOnly': False, 'secure': True}, {'name': 'didomi_token', 'value': 'eyJ1c2VyX2lkIjoiMTljMDQ5Y2YtYWYzMC02ODUxLTk5YjUtODI3ZjkyOTk2ZjkyIiwiY3JlYXRlZCI6IjIwMjYtMDEtMjhUMTI6Mzg6NDIuNjc1WiIsInVwZGF0ZWQiOiIyMDI2LTAxLTI4VDEyOjM4OjQyLjY3NVoiLCJ2ZXJzaW9uIjpudWxsfQ==', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1785411522, 'httpOnly': False, 'secure': False}, {'name': 'cnfdVisitorId', 'value': 'bb0d826b-9ce2-46e0-bd27-226f73f69e74', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1804163919, 'httpOnly': False, 'secure': True}, {'name': 'ry_ry-l3b0nco_so_realytics', 'value': 'eyJpZCI6InJ5XzIxMzgwRjZCLTFERTctNDA0NC04NEM3LTdCNDMyN0MxMTIxMyIsImNpZCI6bnVsbCwib3JpZ2luIjp0cnVlLCJyZWYiOm51bGwsImNvbnQiOm51bGwsIm5zIjp0cnVlLCJzYyI6bnVsbCwic3AiOm51bGx9', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1769605732, 'httpOnly': False, 'secure': False}, {'name': 'pa_privacy', 'value': '%22exempt%22', 'domain': 'www.leboncoin.fr', 'path': '/', 'expires': 1803731923, 'httpOnly': False, 'secure': True}, {'name': '__Secure-Install', 'value': '77148803-893d-4863-b9ac-871697e8c028', 'domain': '.leboncoin.fr', 'path': '/', 'expires': 1804163919, 'httpOnly': False, 'secure': True}]
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: Scrapy-formatted cookies: [{'name': 'ry_ry-l3b0nco_realytics', 'value': 'eyJpZCI6InJ5XzIxMzgwRjZCLTFERTctNDA0NC04NEM3LTdCNDMyN0MxMTIxMyIsImNpZCI6bnVsbCwiZXhwIjoxODAxMTM5OTI1NjA2LCJjcyI6bnVsbH0%3D', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': '_pctx', 'value': '%7Bu%7DN4IgrgzgpgThIC4B2YA2qA05owMoBcBDfSREQpAeyRCwgEt8oBJAE0RXSwH18ykADAFsAZlABeAawAcAHyGSAngIAW9adJABfIA', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': '_pcid', 'value': '%7B%22browserId%22%3A%22mky0hfy0cbhx2na5%22%2C%22_t%22%3A%22n0mfezk7%7Cmky0hi87%22%7D', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'datadome', 'value': 'zQl~Qj3PELrlaiqQlhIw3WlLLpuRt6zPCKvCeC7Ona7lIkH2jqBReSSoWmaPi49VeY1hRCXggAWa6O2SXVb5fUNQpOLGtPTaLXF_kkYtY7vh99gcyG3IFVmTTImcaqdd', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'didomi_token', 'value': 'eyJ1c2VyX2lkIjoiMTljMDQ5Y2YtYWYzMC02ODUxLTk5YjUtODI3ZjkyOTk2ZjkyIiwiY3JlYXRlZCI6IjIwMjYtMDEtMjhUMTI6Mzg6NDIuNjc1WiIsInVwZGF0ZWQiOiIyMDI2LTAxLTI4VDEyOjM4OjQyLjY3NVoiLCJ2ZXJzaW9uIjpudWxsfQ==', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'cnfdVisitorId', 'value': 'bb0d826b-9ce2-46e0-bd27-226f73f69e74', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'ry_ry-l3b0nco_so_realytics', 'value': 'eyJpZCI6InJ5XzIxMzgwRjZCLTFERTctNDA0NC04NEM3LTdCNDMyN0MxMTIxMyIsImNpZCI6bnVsbCwib3JpZ2luIjp0cnVlLCJyZWYiOm51bGwsImNvbnQiOm51bGwsIm5zIjp0cnVlLCJzYyI6bnVsbCwic3AiOm51bGx9', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'pa_privacy', 'value': '%22exempt%22', 'domain': 'www.leboncoin.fr', 'path': '/'}, {'name': '__Secure-Install', 'value': '77148803-893d-4863-b9ac-871697e8c028', 'domain': '.leboncoin.fr', 'path': '/'}]
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: Response headers after parse_dealer_home_page: {b'Accept-Ch': [b'Sec-CH-UA,Sec-CH-UA-Mobile,Sec-CH-UA-Platform,Sec-CH-UA-Arch,Sec-CH-UA-Full-Version-List,Sec-CH-UA-Model,Sec-CH-Device-Memory'], b'Cache-Control': [b'private, no-cache, no-store, max-age=0, must-revalidate'], b'Content-Security-Policy': [b'frame-ancestors *.leboncoin.fr *.leboncoin.io *.leboncoin.ci; report-uri https://api.leboncoin.fr/api/csp-report/v1/report/;'], b'Content-Security-Policy-Report-Only': [b'object-src *.leboncoin.fr *.leboncoin.io *.leboncoin.ci; frame-ancestors *.leboncoin.fr *.leboncoin.io *.leboncoin.ci; report-uri https://api.leboncoin.fr/api/csp-report/v1/report/;'], b'Content-Type': [b'text/html; charset=utf-8'], b'Date': [b'Wed, 28 Jan 2026 12:38:50 GMT'], b'Etag': [b'W/"1gvf4trgub7k2"'], b'Referrer-Policy': [b'no-referrer-when-downgrade'], b'Set-Cookie': [b'datadome=yYkOWxOYxfzro2ZZx3F6MD7ZSOEe7YwDkBfX4mbEyiXgAfks98L8RExZIShWhiYW8HgiunNa4wCK57liVeMEMcO3dmcf54Vl47Ztn85ogrkMBBs4f~0HyyMYlxVoEWOh; Max-Age=31536000; Domain=.leboncoin.fr; Path=/; Secure; SameSite=Lax'], b'Strict-Transport-Security': [b'max-age=15768000'], b'Vary': [b'accept-encoding'], b'Via': [b'1.1 fbdf5158ae0cd2f5d84c84ce83cd7038.cloudfront.net (CloudFront)'], b'X-Amz-Cf-Id': [b'n-iquYQM2XSbOw8URtnzZKaA5FsyG3vCkMwnO4nhYe8f5DnDOul1nQ=='], b'X-Amz-Cf-Pop': [b'CDG50-P2'], b'X-Cache': [b'Miss from cloudfront'], b'X-Datadome': [b'protected']}
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: defaultSearchOptions: {'limit': 10, 'filters': {'owner': {'user_id': '76b8f56a-26d6-4e30-997a-040e4205cf90'}, 'enums': {'ad_type': ['offer']}, 'category': {'id': '1'}}}
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: cookies: [{'name': 'ry_ry-l3b0nco_realytics', 'value': 'eyJpZCI6InJ5XzIxMzgwRjZCLTFERTctNDA0NC04NEM3LTdCNDMyN0MxMTIxMyIsImNpZCI6bnVsbCwiZXhwIjoxODAxMTM5OTI1NjA2LCJjcyI6bnVsbH0%3D', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': '_pctx', 'value': '%7Bu%7DN4IgrgzgpgThIC4B2YA2qA05owMoBcBDfSREQpAeyRCwgEt8oBJAE0RXSwH18ykADAFsAZlABeAawAcAHyGSAngIAW9adJABfIA', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': '_pcid', 'value': '%7B%22browserId%22%3A%22mky0hfy0cbhx2na5%22%2C%22_t%22%3A%22n0mfezk7%7Cmky0hi87%22%7D', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'datadome', 'value': 'zQl~Qj3PELrlaiqQlhIw3WlLLpuRt6zPCKvCeC7Ona7lIkH2jqBReSSoWmaPi49VeY1hRCXggAWa6O2SXVb5fUNQpOLGtPTaLXF_kkYtY7vh99gcyG3IFVmTTImcaqdd', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'didomi_token', 'value': 'eyJ1c2VyX2lkIjoiMTljMDQ5Y2YtYWYzMC02ODUxLTk5YjUtODI3ZjkyOTk2ZjkyIiwiY3JlYXRlZCI6IjIwMjYtMDEtMjhUMTI6Mzg6NDIuNjc1WiIsInVwZGF0ZWQiOiIyMDI2LTAxLTI4VDEyOjM4OjQyLjY3NVoiLCJ2ZXJzaW9uIjpudWxsfQ==', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'cnfdVisitorId', 'value': 'bb0d826b-9ce2-46e0-bd27-226f73f69e74', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'ry_ry-l3b0nco_so_realytics', 'value': 'eyJpZCI6InJ5XzIxMzgwRjZCLTFERTctNDA0NC04NEM3LTdCNDMyN0MxMTIxMyIsImNpZCI6bnVsbCwib3JpZ2luIjp0cnVlLCJyZWYiOm51bGwsImNvbnQiOm51bGwsIm5zIjp0cnVlLCJzYyI6bnVsbCwic3AiOm51bGx9', 'domain': '.leboncoin.fr', 'path': '/'}, {'name': 'pa_privacy', 'value': '%22exempt%22', 'domain': 'www.leboncoin.fr', 'path': '/'}, {'name': '__Secure-Install', 'value': '77148803-893d-4863-b9ac-871697e8c028', 'domain': '.leboncoin.fr', 'path': '/'}]
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: Payload for get listings: {'limit': 200, 'filters': {'owner': {'user_id': '76b8f56a-26d6-4e30-997a-040e4205cf90'}, 'enums': {'ad_type': ['offer']}, 'category': {'id': '1'}}, 'offset': 0}
2026-01-28 12:38:55 [auto_selling_leboncoin.fr] INFO: Request: curl -X POST https://api.leboncoin.fr/finder/search --data-raw '{"filters": {"category": {"id": "1"}, "enums": {"ad_type": ["offer"]}, "owner": {"user_id": "76b8f56a-26d6-4e30-997a-040e4205cf90"}}, "limit": 200, "offset": 0}' -H 'Accept: */*' -H 'Accept-Language: en-GB,en-US;q=0.9,en;q=0.8' -H 'Content-Type: application/json' -H 'Origin: https://www.leboncoin.fr' --cookie 'name=ry_ry-l3b0nco_realytics; name=_pctx; name=_pcid; name=datadome; name=didomi_token; name=cnfdVisitorId; name=ry_ry-l3b0nco_so_realytics; name=pa_privacy; name=__Secure-Install'
2026-01-28 12:38:55 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-01-28 12:39:16 [scrapy.core.engine] DEBUG: Crawled (200) <POST https://api.leboncoin.fr/finder/search> (referer: https://www.leboncoin.fr/boutique/1195032/mn-luxury-cars.htm) ['zyte-api']
2026-01-28 12:39:16 [auto_selling_leboncoin.fr] INFO: Found 19 listings on page 1
2026-01-28 12:39:16 [auto_selling_leboncoin.fr] INFO: Found listing with ID: 3111741778
2026-01-28 12:39:16 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
2026-01-28 12:39:16 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): login.microsoftonline.com:443
2026-01-28 12:39:16 [urllib3.connectionpool] DEBUG: https://login.microsoftonline.com:443 "POST /8ea908c1-4e85-4692-bc3f-3646b9b40891/oauth2/v2.0/token HTTP/1.1" 200 2002
2026-01-28 12:39:16 [azure.identity._credentials.chained] INFO: DefaultAzureCredential acquired a token from WorkloadIdentityCredential
2026-01-28 12:39:16 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): alxsourcingstorageprod.table.core.windows.net:443
2026-01-28 12:39:17 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-01-28 12:39:17 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_leboncoin.fr%27%20and%20RowKey%20eq%20%273111741778%27 HTTP/1.1" 200 None
2026-01-28 12:39:17 [auto_selling_leboncoin.fr] INFO: Scrape type for 3111741778: 1
2026-01-28 12:39:17 [auto_selling_leboncoin.fr] INFO: Scraping new listing 3111741778
2026-01-28 12:39:17 [auto_selling_leboncoin.fr] INFO: Extracted item: {'auction_title': '',
'c_o_2_emission_value': None,
'category': None,
'color': 'Bleu',
'currency': 'EUR',
'description': 'La société MN LUXURY CARS vous propose cette magnifique '
'Yamaha YZF R1 M 2024 dans un état showroom ! \n'
'\n'
'YAMAHA YZF R1 M, 200 CH, MOTEUR CROSSPLANE 998 CM3, 4 '
'CYLINDRES, 9 CV, 6 RAPPORTS, FISCAUX, 655 KMS, ESSENCE, '
'PREMIÈRE MISE EN CIRCULATION LE 20/02/2024. \n'
Tail
'- compteur digital avec fond noir \n'
'- palettes au volant \n'
'- mode de conduite Wet / Normal / Sport / Sport + \n'
'- tableau de bord en cuir noir avec liseré bordeau \n'
'- pack intérieur aluminum brossé \n'
'- accoudoir central avec rangement \n'
'- volant en alcantara multifonctions \n'
'- drive mode au niveau du volant \n'
'- volant réglable en hauteur et profondeur \n'
'- écran tactile couleurs \n'
'- compteur digital \n'
'- Apple Car Play sans fil \n'
'- GPS 3D couleur\n'
'- start & stop \n'
'- Bluetooth / USBC \n'
'- fermeture centralisée\n'
'- Keyless \n'
'- anti-démarrage\n'
'- anti-patinage\n'
'- frein parking électrique \n'
'- phares antibrouillard\n'
"- aide au freinage d'urgence\n"
'- fixation ISOFIX\n'
'- alerte de franchissement de ligne \n'
'- régulateur de vitesse adaptatif \n'
'- limitateur de vitesse \n'
'- airbags \n'
'- ABS \n'
'- ESP \n'
'- ECT …\n'
'\n'
'Frais de mise en route : 199€ TTC\n'
"( Inclus changement de plaques d'immatriculation + nettoyage "
'complet intérieur et extérieur )\n'
'\n'
"Sous réserve d'une erreur de saisie, vérifiez les options du "
'véhicule avec un de nos conseillers commercial.\n'
'\n'
'Nos véhicules sont garantis 12 mois avec extension possible.\n'
"La garantie est valable dans toute l'Union européenne.\n"
'\n'
'Nos véhicules sont vendus avec des entretiens à jour et une '
'traçabilité complète depuis sa première mise en circulation.\n'
'\n'
'Possibilité de reprise de votre ancien véhicule.\n'
'Photos supplémentaires sur demande.\n'
'Financement possible de 24 mois à 72 mois. \n'
'\n'
'Mode de règlement :\n'
'\n'
'-Paiement par virement bancaire\n'
'-Paiement par espèce (montant maximal 1000€) \n'
'\n'
'KEVIN MN LUXURY CARS\n'
'114 AVENUE DE LA PLAINE \n'
'06250 MOUGINS',
'doors_number': None,
'emission_standard': None,
'engine': None,
'engine_horse_power': None,
'expiration_date': None,
'fuel_type': 'Essence',
'id': '096e6d84-8b7f-59c0-9944-3c54516ebff0',
'is_damaged': False,
'is_operable': True,
'license_plate': None,
'link_to_web_offer': 'https://www.leboncoin.fr/ad/voitures/3060962963',
'listing': 'auction',
'make': 'PORSCHE',
'model': '911',
'odometer': 42000,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 5,
'photo_urls': ['https://img.leboncoin.fr/api/v1/lbcpb1/images/af/dc/88/afdc88591217203e91d03e1d9ccf98f1fc49761d.jpg?rule=ad-large',
'https://img.leboncoin.fr/api/v1/lbcpb1/images/29/4e/1d/294e1d740b16b2ca56f8093f68b9cdc4ec054a52.jpg?rule=ad-large',
'https://img.leboncoin.fr/api/v1/lbcpb1/images/19/51/b9/1951b98066da4779ab5f398a48c50d3989ac89de.jpg?rule=ad-large',
'https://img.leboncoin.fr/api/v1/lbcpb1/images/a0/61/31/a06131213f7ca4a298e8b7e4cc98dc8a7f0035cd.jpg?rule=ad-large',
'https://img.leboncoin.fr/api/v1/lbcpb1/images/ee/60/86/ee60862957c2574021131b8543f8a5f8296441c6.jpg?rule=ad-large'],
'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_a99110f0-3312-582d-94e0-be02078e4e37/a99110f0-3312-582d-94e0-be02078e4e37_image_0.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 98319,
'Height': 724,
'OriginUrl': 'https://img.leboncoin.fr/api/v1/lbcpb1/images/af/dc/88/afdc88591217203e91d03e1d9ccf98f1fc49761d.jpg?rule=ad-large',
'Width': 800},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_a99110f0-3312-582d-94e0-be02078e4e37/a99110f0-3312-582d-94e0-be02078e4e37_image_1.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 65056,
'Height': 473,
'OriginUrl': 'https://img.leboncoin.fr/api/v1/lbcpb1/images/29/4e/1d/294e1d740b16b2ca56f8093f68b9cdc4ec054a52.jpg?rule=ad-large',
'Width': 800},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_a99110f0-3312-582d-94e0-be02078e4e37/a99110f0-3312-582d-94e0-be02078e4e37_image_2.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 110036,
'Height': 800,
'OriginUrl': 'https://img.leboncoin.fr/api/v1/lbcpb1/images/19/51/b9/1951b98066da4779ab5f398a48c50d3989ac89de.jpg?rule=ad-large',
'Width': 752},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_a99110f0-3312-582d-94e0-be02078e4e37/a99110f0-3312-582d-94e0-be02078e4e37_image_3.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 93359,
'Height': 800,
'OriginUrl': 'https://img.leboncoin.fr/api/v1/lbcpb1/images/a0/61/31/a06131213f7ca4a298e8b7e4cc98dc8a7f0035cd.jpg?rule=ad-large',
'Width': 600},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_a99110f0-3312-582d-94e0-be02078e4e37/a99110f0-3312-582d-94e0-be02078e4e37_image_4.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 84673,
'Height': 800,
'OriginUrl': 'https://img.leboncoin.fr/api/v1/lbcpb1/images/ee/60/86/ee60862957c2574021131b8543f8a5f8296441c6.jpg?rule=ad-large',
'Width': 600}],
'price': 154990,
'price_includes_vat': False,
'registration_date': '2022-05-01',
'seats_number': None,
'seller_name': None,
'title': 'PORSCHE 911 TYPE 992 CARRERA GTS CABRIOLET 480 ch 🇫🇷',
'transmission': 'automatic',
'trim': None,
'vin': None,
'year': 2022}
2026-01-28 12:39:21 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-01-28 12:39:21 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_leboncoin.fr%27%20and%20RowKey%20eq%20%273060962963%27 HTTP/1.1" 200 None
2026-01-28 12:39:21 [auto_selling_leboncoin.fr] INFO: Saving data for 3060962963: {'created_time': 1769603961.317612, 'last_price_update_time': 1769603961.317623}
2026-01-28 12:39:21 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-01-28 12:39:21 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_leboncoin.fr',RowKey='3060962963') HTTP/1.1" 204 0
2026-01-28 12:39:21 [auto_selling_leboncoin.fr] INFO: No more listings found to scrape
2026-01-28 12:39:21 [scrapy.core.engine] INFO: Closing spider (finished)
2026-01-28 12:39:21 [crawlers.pipelines.save_to_cdlq_db_auto_selling] DEBUG: [SaveToCdlqDbAutoSelling] failed to close cursor: 'SaveToCdlqDbAutoSelling' object has no attribute 'cursor'
2026-01-28 12:39:21 [crawlers.pipelines.save_to_cdlq_db_auto_selling] DEBUG: [SaveToCdlqDbAutoSelling] failed to close connection: 'SaveToCdlqDbAutoSelling' object has no attribute 'conn'
2026-01-28 12:39:21 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-01-28 12:39:21 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-01-28 12:39:21 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process scrape complete CloudEvent for item 2579a790fc3011f0a599c2c555c92d63
2026-01-28 12:39:21 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.MAPPED: 3> -> <SessionState.END_SENT: 4>
2026-01-28 12:39:21 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.OPENED: 9> -> <ConnectionState.CLOSE_SENT: 11>
2026-01-28 12:39:21 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.CLOSE_SENT: 11> -> <ConnectionState.END: 13>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.END_SENT: 4> -> <SessionState.DISCARDING: 6>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-01-28 12:39:21 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-01-28 12:39:21 [azure.servicebus._pyamqp._transport] DEBUG: Transport endpoint is already disconnected: OSError(107, 'Transport endpoint is not connected')
2026-01-28 12:39:22 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: [AzureBusPipeline] connection closed
2026-01-28 12:39:22 [auto_selling_leboncoin.fr] INFO: auto_selling_leboncoin.fr Crawl ended with reason finished, scrape types: {<ScrapeType.NEW: 1>: 8, <ScrapeType.NEW_DUPLICATE_ID: 4>: 0, <ScrapeType.PRICE_UPDATE: 2>: 0, <ScrapeType.AUCTION_UPDATE: 3>: 0, <ScrapeType.SKIPPED: 0>: 0}
2026-01-28 12:39:22 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-01-28 12:39:22 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_leboncoin.fr%27%20and%20last_price_update_time%20lt%201768307962 HTTP/1.1" 200 None
2026-01-28 12:39:22 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (19 items) in: file:///var/lib/scrapyd/items/sourcing_v2/auto_selling_leboncoin.fr/2579a790fc3011f0a599c2c555c92d63.jl
2026-01-28 12:39:22 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 725,
'downloader/request_count': 2,
'downloader/request_method_count/GET': 1,
'downloader/request_method_count/POST': 1,
'downloader/response_bytes': 686803,
'downloader/response_count': 2,
'downloader/response_status_count/200': 2,
'elapsed_time_seconds': 53.074172,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 1, 28, 12, 39, 22, 463692, tzinfo=datetime.timezone.utc),
'item_scraped_count': 19,
'log_count/DEBUG': 407,
'log_count/INFO': 313,
'memusage/max': 126414848,
'memusage/startup': 126414848,
'request_depth_max': 1,
'response_received_count': 2,
'scheduler/dequeued': 2,
'scheduler/dequeued/memory': 2,
'scheduler/enqueued': 2,
'scheduler/enqueued/memory': 2,
'scrapy-zyte-api/429': 0,
'scrapy-zyte-api/attempts': 2,
'scrapy-zyte-api/error_ratio': 0.0,
'scrapy-zyte-api/errors': 0,
'scrapy-zyte-api/fatal_errors': 0,
'scrapy-zyte-api/mean_connection_seconds': 20.73334390996024,
'scrapy-zyte-api/mean_response_seconds': 21.013748796191067,
'scrapy-zyte-api/processed': 2,
'scrapy-zyte-api/request_args/customHttpRequestHeaders': 2,
'scrapy-zyte-api/request_args/experimental.responseCookies': 1,
'scrapy-zyte-api/request_args/httpRequestBody': 1,
'scrapy-zyte-api/request_args/httpRequestMethod': 1,
'scrapy-zyte-api/request_args/httpResponseBody': 2,
'scrapy-zyte-api/request_args/httpResponseHeaders': 2,
'scrapy-zyte-api/request_args/responseCookies': 1,
'scrapy-zyte-api/request_args/url': 2,
'scrapy-zyte-api/status_codes/200': 2,
'scrapy-zyte-api/success': 2,
'scrapy-zyte-api/success_ratio': 1.0,
'scrapy-zyte-api/throttle_ratio': 0.0,
'start_time': datetime.datetime(2026, 1, 28, 12, 38, 29, 389520, tzinfo=datetime.timezone.utc)}
2026-01-28 12:39:22 [scrapy.core.engine] INFO: Spider closed (finished)
2026-01-28 12:39:22 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7faf9fd25810>
2026-01-28 12:39:22 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7faf9fd26010>