Head
2026-08-12 05:00:52 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-12 05:00:52 [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 05:00:52 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-12 05:00:52 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-12 05:00:52 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-12 05:00:52 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-12 05:00:52 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-12 05:00:52 [scrapy.extensions.telnet] INFO: Telnet Password: a0f39a428ca289bc
2026-08-12 05:00:52 [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 05:00:52 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x78bd2a12f4c0>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/wilton_historical/041379bb95fa11f194630050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-12 05:00:52 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-12 05:00:52 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-12 05:00:52 [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 05:00:52 [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 05:00:52 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-12 05:00:52 [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 05:00:52 [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 05:00:52 [scrapy.core.engine] INFO: Spider opened
2026-08-12 05:00:52 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.wilton_historical.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-12 05:00:52 [wilton_historical] INFO: Sending scraped events to prod API
2026-08-12 05:00:52 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-12 05:00:52 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-12 05:00:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/wp-admin/admin-ajax.php?action=eventorganiser-fullcal&start=2026-09-01&end=2026-09-30&timeformat=g%3Ai%20a> (referer: None)
2026-08-12 05:00:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/wp-admin/admin-ajax.php?action=eventorganiser-fullcal&start=2026-08-12&end=2026-08-31&timeformat=g%3Ai%20a> (referer: None)
2026-08-12 05:00:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/wp-admin/admin-ajax.php?action=eventorganiser-fullcal&start=2026-10-01&end=2026-10-31&timeformat=g%3Ai%20a> (referer: None)
2026-08-12 05:00:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/wp-admin/admin-ajax.php?action=eventorganiser-fullcal&start=2026-12-01&end=2026-12-31&timeformat=g%3Ai%20a> (referer: None)
2026-08-12 05:00:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/wp-admin/admin-ajax.php?action=eventorganiser-fullcal&start=2026-11-01&end=2026-11-30&timeformat=g%3Ai%20a> (referer: None)
2026-08-12 05:00:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/events/event/emancipation-and-freedom-people-of-african-descent-and-the-american-revolution/> (referer: https://wiltonhistorical.org/public-programs/calendar/)
2026-08-12 05:00:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/events/event/working-for-the-revolution-patriot-womens-lives-during-the-war/> (referer: https://wiltonhistorical.org/public-programs/calendar/)
2026-08-12 05:00:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/events/event/music-during-the-revolution/> (referer: https://wiltonhistorical.org/public-programs/calendar/)
2026-08-12 05:00:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/events/event/2026-member-and-donor-cookout/> (referer: https://wiltonhistorical.org/public-programs/calendar/)
2026-08-12 05:00:56 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-12 05:00:56 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 7176
2026-08-12 05:00:56 [scrapy.core.scraper] DEBUG: Scraped from <200 https://wiltonhistorical.org/events/event/emancipation-and-freedom-people-of-african-descent-and-the-american-revolution/>
{'event_url': 'https://wiltonhistorical.org/events/event/emancipation-and-freedom-people-of-african-descent-and-the-american-revolution/',
'platform': 'Wilton Historical',
'platform_hash': 'e6ba4eb2d2836cb1728e984e23ddba9a',
'raw_body': '<div class="articlebox lightgreybox">\n'
'<header class="entry-header"> <p id="breadcrumbs" '
'class="pancrumbs"><a '
'href="https://wiltonhistorical.org">Home</a> » <a '
'href="https://wiltonhistorical.org/calendar/">Calendar</a> » '
'Emancipation and Freedom: People of African Descent and the '
'American Revolution</p>\n'
'\t\t\t\t<h1 class="entry-title event-title">Emancipation and '
'Freedom: People of African Descent and the American '
'Revolution</h1>\n'
' \n'
'</header>\n'
Tail
'Thursday, October 15th, at 7:00 p.m. at the Wilton Historical '
'Society at 224 Danbury Road in Wilton.</h4>\n'
'<h4 style="text-align: center;">The event is free for Historical '
'Society members. For non-members, there is a $10.00 fee.</h4>\n'
'<p><script type="text/javascript" '
'src="https://secure.lglforms.com/form_engine/s/tgiIKXB0xwUNOQP7JbY77A.js"></script><noscript><a '
'href="https://secure.lglforms.com/form_engine/s/tgiIKXB0xwUNOQP7JbY77A">Fill '
'out my LGL Form!</a><br>\n'
'</noscript></p>\n'
'<h4 style="text-align: center;">This event is sponsored by <img '
'decoding="async" class="alignnone wp-image-8990 aligncenter" '
'style="font-size: 1rem;" '
'src="https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-300x171.png" '
'alt="" width="89" height="51" '
'srcset="https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-300x171.png '
'300w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-710x400.png '
'710w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-768x439.png '
'768w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-250x143.png '
'250w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-450x257.png '
'450w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-140x80.png '
'140w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-1000x571.png '
'1000w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage.png '
'1400w" sizes="(max-width: 89px) 100vw, 89px"></h4>\n'
'\t\n'
' \n'
' \n'
'\n'
'\t\t\t</div><!-- .entry-content -->\n'
'\n'
'\t\t\t<footer class="entry-meta">\n'
'\t\t\tThis event was posted in <a '
'href="https://wiltonhistorical.org/events/category/for-adults/" '
'rel="tag">For Adults</a> by <a '
'href="https://wiltonhistorical.org/author/elayman/">Emily '
'Layman</a>.\n'
'\t\t\t\t\t\t</footer><!-- .entry-meta -->\n'
'</div>'}
2026-08-12 05:00:57 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://wiltonhistorical.org/events/event/iconoclasm-in-wilton-the-revolutionary-era-statue-of-king-george-iii/> (referer: https://wiltonhistorical.org/public-programs/calendar/)
2026-08-12 05:00:57 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-12 05:00:57 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 6182
2026-08-12 05:00:57 [scrapy.core.scraper] DEBUG: Scraped from <200 https://wiltonhistorical.org/events/event/iconoclasm-in-wilton-the-revolutionary-era-statue-of-king-george-iii/>
{'event_url': 'https://wiltonhistorical.org/events/event/iconoclasm-in-wilton-the-revolutionary-era-statue-of-king-george-iii/',
'platform': 'Wilton Historical',
'platform_hash': 'e6ba4eb2d2836cb1728e984e23ddba9a',
'raw_body': '<div class="articlebox lightgreybox">\n'
'<header class="entry-header"> <p id="breadcrumbs" '
'class="pancrumbs"><a '
'href="https://wiltonhistorical.org">Home</a> » <a '
'href="https://wiltonhistorical.org/calendar/">Calendar</a> » '
'Iconoclasm in Wilton: The Revolutionary-era Statue of King '
'George III</p>\n'
'\t\t\t\t<h1 class="entry-title event-title">Iconoclasm in '
'Wilton: The Revolutionary-era Statue of King George III</h1>\n'
' \n'
'</header>\n'
'\t\n'
'\t\t\t<div class="entry-content">\n'
' \n'
' \n'
' \n'
'\t\t\t\t\t<p><strong><time itemprop="startDate" '
'datetime="2026-10-14T19:00:00-04:00">Wednesday, October 14, '
'7:00pm</time> - <time itemprop="endDate" '
'datetime="2026-10-14T20:00:00-04:00">8:00pm</time></strong></p>\n'
' \t\t\t\t<!-- The content or the description of the '
'event-->\n'
'\t\t\t\t<p>Join us on\xa0<strong>Wednesday, October 14th at 7:00 '
'pm</strong> for a presentation by University of Delaware '
'professor Wendy Bellion. The talk will explore the 1776 tearing '
'down of the King George Statue and Wilton’s direct role in the '
'historic events that followed.</p>\n'
'<p><img fetchpriority="high" decoding="async" '
'class="wp-image-9260 alignright" '
'src="https://wiltonhistorical.org/wp-content/uploads/2026/08/service-pnp-ppmsca-17500-17521r-300x204.jpg" '
'alt="" width="343" height="234" '
'srcset="https://wiltonhistorical.org/wp-content/uploads/2026/08/service-pnp-ppmsca-17500-17521r-300x204.jpg '
'300w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/08/service-pnp-ppmsca-17500-17521r-250x170.jpg '
'250w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/08/service-pnp-ppmsca-17500-17521r-450x306.jpg '
'450w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/08/service-pnp-ppmsca-17500-17521r-140x95.jpg '
'140w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/08/service-pnp-ppmsca-17500-17521r.jpg '
'640w" sizes="(max-width: 343px) 100vw, 343px"></p>\n'
'<p>On the night of July 9, 1776, a crowd emboldened by a public '
'reading of the Declaration of Independence pulled a huge '
'equestrian statue of George III from its pedestal at Bowling '
'Green in lower Manhattan. A British officer conveyed the '
'decapitated head to London, intending to demonstrate the '
'patriots’ defiance, and soldiers transported the remaining '
'fragments via Wilton to Litchfield, where the statue was melted '
'down and recast as ammunition for Continental soldiers. En '
'route, loyalists in Wilton absconded with pieces of the statue, '
'concealing them in fields, swamps, and cellars. This talk '
'revisits this dramatic episode of the American Revolution and '
'explores its lesser-known afterlife in the nineteenth and '
'twentieth century, when the fragments re-emerged as historical '
'relics and re-enactors recreated the lost statue—only to destroy '
'it all over again.</p>\n'
'<p><img decoding="async" class="wp-image-9247 alignleft" '
'src="https://wiltonhistorical.org/wp-content/uploads/2026/08/wendybbook.jpg" '
'alt="" width="267" height="382" '
'srcset="https://wiltonhistorical.org/wp-content/uploads/2026/08/wendybbook.jpg '
'292w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/08/wendybbook-250x358.jpg '
'250w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/08/wendybbook-98x140.jpg '
'98w" sizes="(max-width: 267px) 100vw, 267px"></p>\n'
'<p>Wendy Bellion is Professor of Art History and Sewell C. Biggs '
'Chair in American Art at the University of Delaware. Her '
'scholarship focuses on the art and material culture of the '
'eighteenth and nineteenth-century Atlantic World and the early '
'modern Americas. Her most recent publications include the books '
'Iconoclasm in New York: Revolution to Reenactment (2019); '
'Citizen Spectator: Art, Illusion and Visual Perception in Early '
'National America (2011), which was awarded the Smithsonian '
'Institution’s Eldredge Prize; and the co-edited volume Material '
'Cultures of the Global Eighteenth Century: Art, Mobility, and '
'Change (2023). Her current research explores the women of the '
'family of artist Charles Willson Peale.</p>\n'
'<h4><strong>The talk will be held on Wednesday, October 14th at '
'the Wilton Historical Society at 7:00 pm.</strong></h4>\n'
'<h4><strong>The event is free for Historical Society members. '
'</strong></h4>\n'
'<h4><strong>For non-members, there is a $10.00 '
'fee.</strong></h4>\n'
'<p><script type="text/javascript" '
'src="https://secure.lglforms.com/form_engine/s/Q5NblIC0XBLq6pemdPCB8Q.js"></script></p>\n'
'<h4 style="text-align: center;">This event is sponsored by<img '
'decoding="async" class="alignnone wp-image-8990 aligncenter" '
'src="https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-300x171.png" '
'sizes="(max-width: 89px) 100vw, 89px" '
'srcset="https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-300x171.png '
'300w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-710x400.png '
'710w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-768x439.png '
'768w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-250x143.png '
'250w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-450x257.png '
'450w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-140x80.png '
'140w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage-1000x571.png '
'1000w, '
'https://wiltonhistorical.org/wp-content/uploads/2026/03/ASML-Homepage.png '
'1400w" alt="" width="89" height="51"></h4>\n'
'\t\n'
' \n'
' \n'
'\n'
'\t\t\t</div><!-- .entry-content -->\n'
'\n'
'\t\t\t<footer class="entry-meta">\n'
'\t\t\tThis event was posted in <a '
'href="https://wiltonhistorical.org/events/category/for-adults/" '
'rel="tag">For Adults</a> by <a '
'href="https://wiltonhistorical.org/author/elayman/">Emily '
'Layman</a>.\n'
'\t\t\t\t\t\t</footer><!-- .entry-meta -->\n'
'</div>'}
2026-08-12 05:00:57 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-12 05:00:57 [scrapy.extensions.feedexport] INFO: Stored csv feed (6 items) in: output/2026/08/12/wilton_historical.csv
2026-08-12 05:00:57 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 6026,
'downloader/request_count': 11,
'downloader/request_method_count/GET': 11,
'downloader/response_bytes': 104386,
'downloader/response_count': 11,
'downloader/response_status_count/200': 11,
'elapsed_time_seconds': 5.434612,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 12, 3, 0, 57, 982554, tzinfo=datetime.timezone.utc),
'httpcompression/response_bytes': 402838,
'httpcompression/response_count': 11,
'item_scraped_count': 6,
'items_per_minute': 72.0,
'log_count/DEBUG': 29,
'log_count/INFO': 3,
'memusage/max': 99766272,
'memusage/startup': 99766272,
'request_depth_max': 1,
'response_received_count': 11,
'responses_per_minute': 132.0,
'scheduler/dequeued': 11,
'scheduler/dequeued/memory': 11,
'scheduler/enqueued': 11,
'scheduler/enqueued/memory': 11,
'start_time': datetime.datetime(2026, 8, 12, 3, 0, 52, 547942, tzinfo=datetime.timezone.utc)}
2026-08-12 05:00:57 [scrapy.core.engine] INFO: Spider closed (finished)