Head
2026-08-11 12:20:13 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-11 12:20:13 [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 12:20:13 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-11 12:20:13 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-11 12:20:13 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-11 12:20:13 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-11 12:20:13 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-11 12:20:13 [scrapy.extensions.telnet] INFO: Telnet Password: baca3e9c9d0c6eb1
2026-08-11 12:20:13 [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 12:20:13 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x7a70f63134c0>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/aspet_uckland_trust/3b79c720956e11f1b6d00050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-11 12:20:13 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-11 12:20:13 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-11 12:20:13 [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 12:20:13 [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 12:20:13 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-11 12:20:13 [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 12:20:13 [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 12:20:13 [scrapy.core.engine] INFO: Spider opened
2026-08-11 12:20:13 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.aspetucklandtrust.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 12:20:13 [aspet_uckland_trust] INFO: Sending scraped events to prod API
2026-08-11 12:20:13 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-11 12:20:13 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-11 12:20:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events> (referer: None)
2026-08-11 12:20:13 [scrapy.dupefilters] DEBUG: Filtered duplicate request: <GET https://www.aspetucklandtrust.org/events/2026/10/22/haskins-lecture-2026-joan-maloof> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)
2026-08-11 12:20:13 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://www.aspetucklandtrust.org/events/2025/6/28/outdoor-fitness-at-randalls-farm>, and there are cookies in the cookiejar, but ZYTE_API_EXPERIMENTAL_COOKIES_ENABLED is False, so automatic mapping will not map cookies for this or any other request. To silence this warning, disable cookies for all requests that use automatic mapping, either with the COOKIES_ENABLED setting or with the dont_merge_cookies request metadata key.
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/6/28/outdoor-fitness-at-randalls-farm> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/9/18/lunch-learn-webinar-mini-forests-at-scale> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/9/20/hawk-walk-with-larry-fischer> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/11/22/essential-winter-wilderness-skills> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/9/27/hawk-walk-with-larry-fischer> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/10/28/nighttime-saw-whet-owl-demonstration-with-larry-fischer> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/10/30/haskins-lecture> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2026/4/25/norwalk-earth-day-festival-on-the-green> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/11/22/seed-collecting-and-germination-101> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2025/11/20/lunch-and-learn-webinar-mini-forest-revolution-rewilding-our-communities-for-climate-resilience> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.aspetucklandtrust.org/events/2026/3/25/miyawaki-microforests-connecticut-cities> (referer: https://www.aspetucklandtrust.org/events)
2026-08-11 12:20:14 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-11 12:20:14 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 6870
2026-08-11 12:20:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.aspetucklandtrust.org/events/2025/6/28/outdoor-fitness-at-randalls-farm>
{'event_url': 'https://www.aspetucklandtrust.org/events/2025/6/28/outdoor-fitness-at-randalls-farm',
'platform': 'Aspet uckland Trust',
'platform_hash': 'a5c34a4e65834f561eb88e8cd596b1b7',
'raw_body': '<article class="eventitem " '
'id="article-6852c995614a580d92504e89" '
'data-item-id="6852c995614a580d92504e89">\n'
'\n'
' <div class="eventitem-column-meta">\n'
'\n'
' <h1 class="eventitem-title">Outdoor Fitness at Randall\'s '
Tail
'\n'
' <li class="eventitem-meta-item eventitem-meta-time '
'event-meta-item">\n'
' <span class="event-time-12hr">\n'
' <time class="event-time-12hr-start" '
'datetime="2026-07-18">10:00\u202fAM</time>\n'
' <span class="event-datetime-divider"></span>\n'
' <time class="event-time-12hr-end" '
'datetime="2026-07-18">12:00\u202fPM</time>\n'
' </span>\n'
' <span class="event-time-24hr">\n'
' <time class="event-time-24hr-start" '
'datetime="2026-07-18">10:00</time>\n'
' <span class="event-datetime-divider"></span>\n'
' <time class="event-time-12hr-end" '
'datetime="2026-07-18">12:00</time>\n'
' </span>\n'
' </li>\n'
'\n'
' \n'
'\n'
' </ul>\n'
'\n'
' \n'
' \n'
' <ul class="eventitem-meta event-meta '
'event-meta-address-container">\n'
' <li class="eventitem-meta-item '
'eventitem-meta-address">\n'
' <span class="eventitem-meta-address-line '
'eventitem-meta-address-line--title">Plummer Property</span>\n'
' <span class="eventitem-meta-address-line">Wampum Hill '
'Road</span>\n'
' <span class="eventitem-meta-address-line">Weston, '
'CT</span>\n'
' <span class="eventitem-meta-address-line">United '
'States</span>\n'
' <a '
'href="http://maps.google.com?q=Wampum%20Hill%20Road%20Weston,%20CT%20United%20States" '
'class="eventitem-meta-address-maplink" '
'target="_blank">(map)</a>\n'
' </li>\n'
' </ul>\n'
' \n'
' \n'
'\n'
' <ul class="eventitem-meta event-meta '
'event-meta-addtocalendar-container">\n'
' <li class="eventitem-meta-item eventitem-meta-export '
'event-meta-item">\n'
' <a '
'href="http://www.google.com/calendar/event?action=TEMPLATE&text=Plummer%20Property%20Tree%20Identification&dates=20260718T140000Z/20260718T160000Z&location=Wampum%20Hill%20Road%2C%20Weston%2C%20CT%2C%20United%20States" '
'class="eventitem-meta-export-google">Google Calendar</a>\n'
' <span class="eventitem-meta-export-divider"></span>\n'
' <a '
'href="/events/2026/7/18/plummer-property-trees?format=ical" '
'class="eventitem-meta-export-ical">ICS</a>\n'
' </li>\n'
' </ul>\n'
'\n'
' \n'
' \n'
'\n'
' </div>\n'
'\n'
' <div class="eventitem-column-content">\n'
'\n'
' <div class="sqs-layout sqs-grid-12 columns-12" '
'data-layout-label="Post Body" data-type="item" '
'data-updated-on="1782327314003" '
'id="item-6a3c256fb768dc7e3a52a996"><div class="row sqs-row"><div '
'class="col sqs-col-12 span-12"><div class="sqs-block html-block '
'sqs-block-html" data-block-type="2" data-sqsp-block="text" '
'id="block-yui_3_17_2_1_1782322579043_182139"><div '
'class="sqs-block-content">\n'
'\n'
'<div class="sqs-html-content" data-sqsp-text-block-content>\n'
' <p class="" style="white-space:pre-wrap;"><strong>Join Master '
'Arborist Chris Teter of Bartlett Tree Experts for a guided tree '
'identification walk exploring the trees that shape our local '
'landscape. Participants will learn how to identify common native '
'and naturalized species by examining leaves, bark, branching '
'patterns, buds, and overall form. </strong>This walk will cover '
'key identification features including leaves, bark, branching '
'patterns, and overall form, with attention to common native and '
'naturalized trees found in the region. Participants will visit '
'the newly protected 16-acre Plummer property, using the site to '
'observe trees growing across different habitats and conditions. '
'Chris will share insights into tree biology, seasonal changes, '
'and how different species respond to land use, soils, and '
'climate, helping participants better read the landscape and '
'deepen their understanding of local ecosystems.</p><p class="" '
'style="white-space:pre-wrap;">No experience needed. Just come '
'ready to walk and take a closer look.\xa0</p><p class="" '
'style="white-space:pre-wrap;">The event will take place rain or '
'shine. Please, no dogs.</p><p class="" '
'style="white-space:pre-wrap;">Event is open to the public. '
'Priority to members.<br><span '
'style="text-decoration:underline">Maximum 25 people</span>. '
'<em>RSVP required</em>.<br>Members Free/ Non-Members $10</p><p '
'class="" style="white-space:pre-wrap;"><em>Chris Teter is a '
'Board Certified Master Arborist, Accredited Organic Land Care '
'Professional, and Connecticut Master Gardener with a degree in '
'Environmental Science and course work focusing on plant taxonomy '
'and biology. His career has focused on obtaining knowledge of '
'urban landscaping and maintenance principles to help restore '
"society's most impacted environments. He is well versed in the "
'dynamics between cost, effort, and results when it comes to '
'organic landscape maintenance.</em></p><p class="" '
'style="white-space:pre-wrap;"><a '
'href="https://secure.qgiv.com/for/qxarzx/event/plummertreeidentification/" '
'target="_blank"><strong>Register Here</strong></a></p>\n'
'</div>\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
'\n'
' \n'
' \n'
'\n'
'\n'
'\n'
'</div></div></div></div></div>\n'
'\n'
' \n'
' <div class="eventitem-content-footer">\n'
'\n'
' \n'
'\n'
' \n'
'\n'
' <div class="eventitem-meta event-meta '
'event-meta-socialicon-container">\n'
' <span class="sqs-simple-like" '
'data-item-id="6a3c256fb768dc7e3a52a996" data-like-count="0">\n'
' <span class="like-icon"></span>\n'
' <span class="like-count"></span>\n'
' </span>\n'
'<span class="squarespace-social-buttons inline-style" '
'data-system-data-id="1782327302286-P5B2HMFH4RM01FJCAHRG" '
'data-asset-url="https://images.squarespace-cdn.com/content/v1/59357950d482e9c7438b4bd6/1782327302286-P5B2HMFH4RM01FJCAHRG/plummer+field.jpg" '
'data-record-type="12" '
'data-full-url="/events/2026/7/18/plummer-property-trees" '
'data-title="Plummer Property Tree Identification"></span></div>\n'
' </div>\n'
' \n'
'\n'
' </div>\n'
'\n'
' <div class="clear"></div>\n'
'\n'
' </article>'}
2026-08-11 12:20:20 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-11 12:20:20 [scrapy.extensions.feedexport] INFO: Stored csv feed (31 items) in: output/2026/08/11/aspet_uckland_trust.csv
2026-08-11 12:20:20 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 12526,
'downloader/request_count': 32,
'downloader/request_method_count/GET': 32,
'downloader/response_bytes': 829549,
'downloader/response_count': 32,
'downloader/response_status_count/200': 32,
'dupefilter/filtered': 31,
'elapsed_time_seconds': 6.732981,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 11, 10, 20, 20, 151947, tzinfo=datetime.timezone.utc),
'httpcompression/response_bytes': 4052408,
'httpcompression/response_count': 32,
'item_scraped_count': 31,
'items_per_minute': 310.0,
'log_count/DEBUG': 126,
'log_count/INFO': 3,
'log_count/WARNING': 1,
'memusage/max': 99291136,
'memusage/startup': 99291136,
'request_depth_max': 1,
'response_received_count': 32,
'responses_per_minute': 320.0,
'scheduler/dequeued': 32,
'scheduler/dequeued/memory': 32,
'scheduler/enqueued': 32,
'scheduler/enqueued/memory': 32,
'start_time': datetime.datetime(2026, 8, 11, 10, 20, 13, 418966, tzinfo=datetime.timezone.utc)}
2026-08-11 12:20:20 [scrapy.core.engine] INFO: Spider closed (finished)