Head
2026-08-12 00:00:42 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-12 00:00:42 [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-12 00:00:42 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-12 00:00:42 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-12 00:00:42 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-12 00:00:42 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-12 00:00:42 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-12 00:00:42 [scrapy.extensions.telnet] INFO: Telnet Password: 41ffde6d02a862e6
2026-08-12 00:00:42 [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-12 00:00:42 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x725cee92b380>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/quickcenter/15bdfda395d011f1a83b0050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-12 00:00:42 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-12 00:00:42 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-12 00:00:42 [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-12 00:00:42 [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-12 00:00:42 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-12 00:00:42 [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-12 00:00:42 [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-12 00:00:42 [scrapy.core.engine] INFO: Spider opened
2026-08-12 00:00:42 [quickcenter] INFO: Sending scraped events to prod API
2026-08-12 00:00:42 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-12 00:00:42 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-12 00:00:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://quickcenter.fairfield.edu/upcoming-events/index.html> (referer: None)
2026-08-12 00:00:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://quickcenter.fairfield.edu/2026-27-season-calendar/opera/met-live-hd-parsifal.html> (referer: https://quickcenter.fairfield.edu/upcoming-events/index.html)
2026-08-12 00:00:44 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-12 00:00:44 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 2841
2026-08-12 00:00:44 [scrapy.core.scraper] DEBUG: Scraped from <200 https://quickcenter.fairfield.edu/2026-27-season-calendar/opera/met-live-hd-parsifal.html>
{'event_url': 'https://quickcenter.fairfield.edu/2026-27-season-calendar/opera/met-live-hd-parsifal.html',
'platform': 'quick center',
'platform_hash': 'ec9b48a9bcc050f6dda085af4ba87917',
'raw_body': '<section class="long-image" id="banner-image">\n'
'<img alt="" '
'src="../../files/images/events/2026-27-events/4470008509_qca_calendar_opera_met-live-parsifal_banner-image_1150x500_06152026.jpg"/>\n'
'<div class="dark-screen opaque"></div>\n'
'<div id="banner-headline-wrapper">\n'
'<h2><span class="font-small">The Met: Live in HD</span>\n'
'</h2><p>Wagner’s<em> Parsifal</em></p>\n'
'</div>\n'
'<div id="banner-buttons-wrapper">\n'
'<div class="rel-wrapper">\n'
'<a class="button red" '
'href="https://fairfield.evenue.net/events/MET060827">\n'
'<i class="fa fa-ticket" role="presentation"></i>\n'
' Buy Tickets\n'
' </a>\n'
'</div>\n'
'</div>\n'
'</section><section id="information-ribbon">\n'
'<div id="ribbon-headline-wrapper">\n'
'<p id="day-time">Tuesday | 1 p.m. (encore)</p>\n'
'<h4 id="event-date">June 8, 2027</h4>\n'
'<p id="headline-copy">Single Tickets: $35 | $30 seniors | $5 '
Tail
'src="../../files/images/sponsors/825705686_sponsor-logo_wealthspire-advisors_400x300_01132022.png"/>\n'
'</a>\n'
'</article>\n'
'<article class="sponsor quarter-width">\n'
'<a href="http://www.cohenandwolf.com/" target="_blank" '
'title="Cohen and Wolf">\n'
'<img alt="" '
'src="../../files/images/sponsors/qca_sponsor-logo_cohen-and-wolf_300x220_02132026"/>\n'
'</a>\n'
'</article>\n'
'</div>\n'
'</section>\n'
'</div>\n'
'</section>\n'
'<section id="side-ads">\n'
'<div class="rel-wrapper">\n'
'</div>\n'
'</section>\n'
'</div>'}
2026-08-12 00:00:58 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-12 00:00:58 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 400 68
2026-08-12 00:00:58 [quickcenter] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
2026-08-12 00:00:58 [scrapy.core.scraper] DEBUG: Scraped from <200 https://quickcenter.fairfield.edu/2026-27-season-calendar/theatre/the-minutes.html>
{'event_url': 'https://quickcenter.fairfield.edu/2026-27-season-calendar/theatre/the-minutes.html',
'platform': 'quick center',
'platform_hash': 'ec9b48a9bcc050f6dda085af4ba87917',
'raw_body': '<section class="long-image" id="banner-image">\n'
'<img alt="" '
'src="../../files/images/events/2026-27-events/4518715962_qca_calendar_theatre_the-minutes_banner-image_1150x500_07302026.jpg"/>\n'
'<div class="dark-screen opaque"></div>\n'
'<div id="banner-headline-wrapper">\n'
'<h2><span class="font-small">Academy Players present</span>\n'
'</h2><p>Tracy Letts’s <em>The Minutes </em></p>\n'
'<p id="day-time">Wednesday – Saturday | 7:30 p.m.</p>\n'
'<h4 id="event-date">September 23 – September 26, 2026</h4>\n'
'<p id="headline-copy">$20 General Admission<br/> Free for '
'faculty, staff, and students</p>\n'
'</div>\n'
'<div id="banner-buttons-wrapper">\n'
'<div class="rel-wrapper">\n'
'<a class="button red" '
'href="https://fairfield.evenue.net/events/UNI092326">\n'
'<i class="fa fa-ticket" role="presentation"></i>\n'
' Buy Tickets\n'
' </a>\n'
'</div>\n'
'</div>\n'
'</section><section class="no-content" id="information-ribbon">\n'
'<div class="no-content" id="ribbon-headline-wrapper">\n'
'<div class="rel-wrapper">\n'
'</div>\n'
'</div>\n'
'</section><div id="event-body-wrapper">\n'
'<section id="event-body">\n'
'<div class="rel-wrapper">\n'
'<section class="content-section last-section" id="main">\n'
'<div class="content-section-wrapper">\n'
'<div class="rel-wrapper">\n'
'<p>Fairfield’s faculty and staff theatre troupe, the Academy '
'Players, presents <em>The Minutes</em>, a darkly comic and '
'sharply satirical play that follows a small-town council meeting '
'that gradually exposes buried secrets, civic corruption, and the '
'dangerous myths communities uphold to preserve power and '
'control. Each performance will be followed by a talk-back '
'discussion led by Fairfield University faculty.</p>\n'
'</div>\n'
'<a class="button" '
'href="https://www.steppenwolf.org/people/tracy-letts" '
'target="_blank">Learn more about the playwright, Tracy Letts '
'→</a>\n'
'</div>\n'
'</section>\n'
'</div>\n'
'</section>\n'
'<section id="side-ads">\n'
'<div class="rel-wrapper">\n'
'</div>\n'
'</section>\n'
'</div>'}
2026-08-12 00:00:58 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-12 00:00:58 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 400 68
2026-08-12 00:00:58 [quickcenter] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
2026-08-12 00:00:58 [scrapy.core.scraper] DEBUG: Scraped from <200 https://quickcenter.fairfield.edu/2026-27-season-calendar/screenings/bfi-goldfinger.html>
{'event_url': 'https://quickcenter.fairfield.edu/2026-27-season-calendar/screenings/bfi-goldfinger.html',
'platform': 'quick center',
'platform_hash': 'ec9b48a9bcc050f6dda085af4ba87917',
'raw_body': '<section class="long-image" id="banner-image">\n'
'<img alt="" '
'src="../../files/images/events/2026-27-events/4518715962_qca_calendar_screenings_bfi-goldfinger_banner-image_1150x500_07282026.jpg"/>\n'
'<div class="dark-screen opaque"></div>\n'
'<div id="banner-headline-wrapper">\n'
'<h2><em>Goldfinger </em>(1964)\n'
'</h2><p class="font-xsmall">screened in partnership with the '
'British Film Institute</p>\n'
'<p id="day-time">Thursday | 7 p.m.</p>\n'
'<h4 id="event-date">September 17, 2026</h4>\n'
'<p id="headline-copy"></p><p><strong>Wien Experimental '
'Theatre</strong></p>\n'
'<p>$15 | Free for Fairfield University students | $10 Quick '
'Member</p>\n'
'<p>Run-time: 1 hour and 50 minutes</p>\n'
'</div>\n'
'<div id="banner-buttons-wrapper">\n'
'<div class="rel-wrapper">\n'
'<a class="button red" '
'href="https://fairfield.evenue.net/events/UNI091726">\n'
'<i class="fa fa-ticket" role="presentation"></i>\n'
' Buy Tickets\n'
' </a>\n'
'</div>\n'
'</div>\n'
'</section><section class="no-content" id="information-ribbon">\n'
'<div class="no-content" id="ribbon-headline-wrapper">\n'
'<div class="rel-wrapper">\n'
'</div>\n'
'</div>\n'
'</section><div id="event-body-wrapper">\n'
'<section id="event-body">\n'
'<div class="rel-wrapper">\n'
'<section class="content-section" id="main">\n'
'<div class="content-section-wrapper">\n'
'<div class="rel-wrapper">\n'
'<p>“No Mr. Bond, I expect you to die.” The third James Bond film '
'<em>Goldfinger</em> (1964) with Sean Connery as 007 remains the '
'most beloved entry in the Bond franchise. This is a classic of '
'post-war British cinema and is the first offering in this fall’s '
'<em>Bond and Beatles: British Film Icons of the 1960s</em> '
'series, with discussion notes informed by the BFI’s scholarship. '
'This film screening is part of a new educational partnership '
'between Fairfield University and the British Film '
'Institute.</p>\n'
'<p>In partnership with the British Film Institute, Fairfield '
'University will host a series of four films that demonstrate how '
'two British legends that emerged in the 1960s—James Bond and The '
'Beatles— transformed the image of Britain around the world.</p>\n'
'<p>The first film <em>Goldfinger </em>(1964) features Sean '
'Connery as Bond on Sept. 17, followed by <em>A Hard Day’s '
'Night</em> (1964) on Oct. 7, <em>Thunderball </em>(1965) on Nov. '
'23, and <em>Help!</em> (1965) on Dec. 15.</p>\n'
'<p>Each screening will be preceded by short introductory videos '
'from BFI scholars, followed by a Q&A session with Fairfield '
'University’s Jay Rozgonyi, instructor in the Film, Television, '
'and Media Arts program. Join us for a journey through the '
'sights, sounds, and contradictions of 1960s Britain.</p>\n'
'</div>\n'
'<a class="button" href="https://www.bfi.org.uk/" '
'target="_blank">Learn more about BFI →</a>\n'
'<div class="rel-wrapper">\n'
'<p><em>Image credit: BFI National Archive</em></p>\n'
'</div>\n'
'</div>\n'
'</section>\n'
'<section class="content-section last-section" id="sponsor">\n'
'<h6>Thank You to Our Partner</h6>\n'
'<div class="content-section-wrapper">\n'
'<article class="sponsor quarter-width">\n'
'<a href="https://www.bfi.org.uk/" target="_blank" title="British '
'Film Institute">\n'
'<img alt="" '
'src="../../files/images/sponsors/4518715962_sponsor-logo_bfi_400x350_07282026.png"/>\n'
'</a>\n'
'</article>\n'
'</div>\n'
'</section>\n'
'</div>\n'
'</section>\n'
'<section id="side-ads">\n'
'<div class="rel-wrapper">\n'
'</div>\n'
'</section>\n'
'</div>'}
2026-08-12 00:00:58 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-12 00:00:58 [scrapy.extensions.feedexport] INFO: Stored csv feed (59 items) in: output/2026/08/12/quickcenter.csv
2026-08-12 00:00:58 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 21357,
'downloader/request_count': 60,
'downloader/request_method_count/GET': 60,
'downloader/response_bytes': 2496113,
'downloader/response_count': 60,
'downloader/response_status_count/200': 60,
'elapsed_time_seconds': 16.284083,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 11, 22, 0, 58, 883894, tzinfo=datetime.timezone.utc),
'item_scraped_count': 59,
'items_per_minute': 221.25,
'log_count/DEBUG': 237,
'log_count/ERROR': 16,
'log_count/INFO': 3,
'memusage/max': 99778560,
'memusage/startup': 99778560,
'request_depth_max': 1,
'response_received_count': 60,
'responses_per_minute': 225.0,
'scheduler/dequeued': 60,
'scheduler/dequeued/memory': 60,
'scheduler/enqueued': 60,
'scheduler/enqueued/memory': 60,
'start_time': datetime.datetime(2026, 8, 11, 22, 0, 42, 599811, tzinfo=datetime.timezone.utc)}
2026-08-12 00:00:58 [scrapy.core.engine] INFO: Spider closed (finished)