-
Head
2026-08-11 16:00:22 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-11 16:00:22 [scrapy.utils.log] INFO: Versions:
{'lxml': '6.0.2',
'libxml2': '2.14.6',
'cssselect': '1.3.0',
'parsel': '1.10.0',
'w3lib': '2.0.0',
'Twisted': '25.5.0',
'Python': '3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]',
'pyOpenSSL': '25.3.0 (OpenSSL 3.5.4 30 Sep 2025)',
'cryptography': '46.0.3',
'Platform': 'Linux-6.8.0-90-generic-x86_64-with-glibc2.39'}
2026-08-11 16:00:22 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-11 16:00:22 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-11 16:00:22 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-11 16:00:23 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-11 16:00:23 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-11 16:00:23 [scrapy.extensions.telnet] INFO: Telnet Password: aac34647a9fdd55e
2026-08-11 16:00:23 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
'scrapy.extensions.logcount.LogCount',
'scrapy.extensions.telnet.TelnetConsole',
'scrapy.extensions.memusage.MemoryUsage',
'scrapy.extensions.feedexport.FeedExporter',
'scrapy.extensions.logstats.LogStats']
2026-08-11 16:00:23 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x7bf2a9d174c0>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/darien_library/fd274901958c11f193270050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-11 16:00:23 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-11 16:00:23 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-11 16:00:23 [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.downloadermiddlewares.retry.RetryMiddleware',
'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
'scrapy.downloadermiddlewares.stats.DownloaderStats']
2026-08-11 16:00:23 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.start.StartSpiderMiddleware',
'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
'scrapy.spidermiddlewares.referer.RefererMiddleware',
'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
'scrapy.spidermiddlewares.depth.DepthMiddleware',
'scrapy_zyte_api.ScrapyZyteAPIRefererSpiderMiddleware']
2026-08-11 16:00:23 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-11 16:00:23 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
self._check_mw_method_spider_arg(pipe.open_spider)
2026-08-11 16:00:23 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
self._check_mw_method_spider_arg(pipe.process_item)
2026-08-11 16:00:23 [scrapy.core.engine] INFO: Spider opened
2026-08-11 16:00:23 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.darien_library.ListingSpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
warn(
2026-08-11 16:00:23 [darien_library] INFO: Sending scraped events to prod API
2026-08-11 16:00:23 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-11 16:00:23 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-11 16:00:24 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.darienlibrary.org/events/upcoming> (referer: None)
2026-08-11 16:00:25 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.darienlibrary.org/event/baby-play-date-118850> (referer: https://www.darienlibrary.org/events/upcoming)
2026-08-11 16:00:25 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.darienlibrary.org/event/retro-crafts-puff-paint-108497> (referer: https://www.darienlibrary.org/events/upcoming)
2026-08-11 16:00:25 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-11 16:00:25 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 13200
2026-08-11 16:00:25 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.darienlibrary.org/event/baby-play-date-118850>
{'event_url': 'https://www.darienlibrary.org/event/baby-play-date-118850',
'platform': 'Darien Library',
'platform_hash': 'a5eecd9001dc7446b4cffaec033e21f0',
'raw_body': '<main role="main" class="main-container container">\n'
' <a id="main-content" tabindex="-1"></a>\n'
'\n'
' <div class="content-region">\n'
' <div data-drupal-messages-fallback class="hidden"></div>\n'
'\n'
'<div id="block-website-theme-breadcrumbs" class="block '
'block-system block-system-breadcrumb-block position-relative">\n'
' \n'
' \n'
' <nav role="navigation" aria-label="Breadcrumb">\n'
' <ol class="breadcrumb">\n'
' <li class="breadcrumb-item">\n'
' <a href="/">Home</a>\n'
' </li>\n'
' </ol>\n'
' </nav>\n'
'\n'
-
Tail
'<input autocomplete="off" '
'data-drupal-selector="form-sav8zojs6i72aeaoiedmq5rzxhjumyd-n6smyx-m9ei" '
'type="hidden" name="form_build_id" '
'value="form-SAV8zojS6i72AEAoieDMq5RzXHjumYd-n6smyX-M9eI">\n'
'\n'
'<input '
'data-drupal-selector="edit-lc-registration-ui-registration-form-opener-form" '
'type="hidden" name="form_id" '
'value="lc_registration_ui_registration_form_opener_form">\n'
'<button class="button button--primary btn-lg js-form-submit '
'form-submit" data-drupal-selector="edit-offline" type="submit" '
'id="edit-offline" name="op" value=""><div '
'data-drupal-selector="edit-main">Register</div></button><noscript '
'class="text-muted" '
'data-drupal-selector="edit-noscript">JavaScript is required to '
'register for this event.</noscript>\n'
'\n'
'</form>\n'
'\n'
' </div>\n'
'</fieldset>\n'
'</div>\n'
'\n'
'</div>\n'
'</div>\n'
'\n'
' </section>\n'
' <aside class="lc-event-sidebar">\n'
' <div class="lc-event-location">\n'
' <h2 class="lc-event-subtitle">Location '
'Details</h2>\n'
' \n'
' <div class="lc-event-location-map '
'lc-event-section"><iframe allowfullscreen frameborder="0" '
'height="300" '
'src="https://www.google.com/maps?output=embed&q=1441+Post+Road%2C+Darien%2C+CT+06820%2C+United+States" '
'style="width: 100%;" title="Darien Library on Google Maps" '
'width="600"></iframe>\n'
'</div>\n'
' \n'
' \n'
' <div class="lc-event-location-address '
'lc-event-section">\n'
' <p class="lc-font-weight-bold">Darien '
'Library</p>\n'
'\n'
' <div class="lc-address-line '
'lc-address-line--first">\n'
' 1441 Post Road\n'
' </div>\n'
'\n'
' <div class="lc-address-line '
'lc-address-line--second">\n'
' Darien,\n'
' CT\n'
' 06820\n'
' </div>\n'
'\n'
' <div '
'class="lc-event-location__phone">\n'
' <a href="tel:2036551234">\n'
' (203) 655-1234\n'
' </a>\n'
' </div>\n'
' \n'
' <div class="lc-branch-select-map-link">\n'
' See map:\n'
' <a '
'href="http://maps.google.com/?q=1441%20Post%20Road,+Darien,+CT,+06820">\n'
' Google Maps </a>\n'
' </div>\n'
' \n'
' \n'
' </div>\n'
'\n'
' \n'
' \n'
' <div '
'class="lc-event-address-container">\n'
' <h2 class="lc-event-subtitle">Contact Info</h2>\n'
'\n'
' <div class="lc-event-info-item '
'lc-event-contact-name">\n'
' <span class="lc-font-weight-bold">\n'
' Name: </span>\n'
'\n'
' Amanda DeMaio\n'
' </div>\n'
' \n'
' <div class="lc-event-info-item '
'lc-event-contact-email">\n'
' <span class="lc-font-weight-bold">\n'
' Email:\n'
' </span>\n'
'\n'
' <a href="mailto:ademaio@darienlibrary.org">\n'
' ademaio@darienlibrary.org\n'
' </a>\n'
' </div>\n'
' \n'
' \n'
' </div>\n'
' \n'
' \n'
' </div>\n'
' </aside>\n'
' </div>\n'
'\n'
' <div>\n'
'\n'
'\n'
'<div class="lc-core--extra-field">\n'
' \n'
'</div>\n'
'</div>\n'
'\n'
'\n'
'</article>\n'
'\n'
' </div>\n'
'\n'
'<div id="block-chatwidget" class="block block-block-content '
'block-block-content63a310d3-960f-4513-8d41-03110820bfc1 '
'position-relative">\n'
' \n'
' \n'
' \n'
'\n'
' <div class="field-container"><div '
'class="needs-js">chat loading...</div>\n'
'<script type="text/javascript">\n'
' (function() {\n'
' var x = document.createElement("script"); x.type = '
'"text/javascript"; x.async = true;\n'
' x.src = (document.location.protocol === "https:" ? '
'"https://" : "http://") + '
'"libraryh3lp.com/js/libraryh3lp.js?18222";\n'
' var y = document.getElementsByTagName("script")[0]; '
'y.parentNode.insertBefore(x, y);\n'
' })();\n'
'</script></div>\n'
' \n'
' </div>\n'
'\n'
'<div id="block-googleanalytics3" class="block '
'block-block-content '
'block-block-contenta12aefcf-1981-421c-8f8e-5db73859a78f '
'position-relative">\n'
' \n'
' \n'
' \n'
'\n'
' <div class="field-container"><!-- Global site tag '
'(gtag.js) - Google Analytics -->\n'
'<script async '
'src="https://www.googletagmanager.com/gtag/js?id=UA-10387228-1"></script>\n'
'<script>\n'
' window.dataLayer = window.dataLayer || [];\n'
' function gtag(){dataLayer.push(arguments);}\n'
" gtag('js', new Date());\n"
'\n'
" gtag('config', 'UA-10387228-1');\n"
'</script></div>\n'
' \n'
' </div>\n'
'\n'
' </div>\n'
'\n'
' </main>'}
2026-08-11 16:00:49 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-11 16:00:49 [scrapy.extensions.feedexport] INFO: Stored csv feed (132 items) in: output/2026/08/11/darien_library.csv
2026-08-11 16:00:49 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 45439,
'downloader/request_count': 139,
'downloader/request_method_count/GET': 139,
'downloader/response_bytes': 2766308,
'downloader/response_count': 139,
'downloader/response_status_count/200': 139,
'elapsed_time_seconds': 26.706224,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 11, 14, 0, 49, 942095, tzinfo=datetime.timezone.utc),
'httpcompression/response_bytes': 12825163,
'httpcompression/response_count': 139,
'item_scraped_count': 132,
'items_per_minute': 304.6153846153846,
'log_count/DEBUG': 535,
'log_count/ERROR': 2,
'log_count/INFO': 3,
'memusage/max': 99921920,
'memusage/startup': 99921920,
'request_depth_max': 6,
'response_received_count': 139,
'responses_per_minute': 320.7692307692308,
'scheduler/dequeued': 139,
'scheduler/dequeued/memory': 139,
'scheduler/enqueued': 139,
'scheduler/enqueued/memory': 139,
'start_time': datetime.datetime(2026, 8, 11, 14, 0, 23, 235871, tzinfo=datetime.timezone.utc)}
2026-08-11 16:00:49 [scrapy.core.engine] INFO: Spider closed (finished)
-
Log
/1/log/utf8/event_scrapers/darien_library/fd274901958c11f193270050565fa5d9/?job_finished=True
-
Source
http://127.0.0.1:6800/logs/event_scrapers/darien_library/fd274901958c11f193270050565fa5d9.log