-
Head
2026-08-04 17:00:48 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-04 17:00:48 [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-04 17:00:48 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-04 17:00:48 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-04 17:00:48 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-04 17:00:48 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-04 17:00:48 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-04 17:00:48 [scrapy.extensions.telnet] INFO: Telnet Password: 8222db2e772bd347
2026-08-04 17:00:48 [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-04 17:00:48 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x709f74b2b4c0>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/elm_street_books/44de1642901511f1ad3e0050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-04 17:00:48 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-04 17:00:48 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-04 17:00:48 [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-04 17:00:48 [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-04 17:00:48 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-04 17:00:48 [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-04 17:00:48 [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-04 17:00:48 [scrapy.core.engine] INFO: Spider opened
2026-08-04 17:00:48 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.elm_street_books.ElmStreetBooksSpider 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-04 17:00:48 [elm_street_books] INFO: Sending scraped events to prod API
2026-08-04 17:00:48 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-04 17:00:48 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-04 17:00:48 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:52 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://elmstreetbooks.com/upcoming-events> (referer: None) ['zyte-api']
2026-08-04 17:00:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-04 17:00:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://elmstreetbooks.com/event/2026-08-20/stacy-brook-presents-uncommon-college-essay-new-canaan-library> (referer: None) ['zyte-api']
2026-08-04 17:00:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://elmstreetbooks.com/event/2026-09-02/evening-angela-duckworth-new-canaan-library> (referer: None) ['zyte-api']
2026-08-04 17:00:54 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-04 17:00:54 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
2026-08-04 17:00:54 [elm_street_books] ERROR: API error 500:
<!doctype html>
<html lang="en">
<head>
<title>Server Error (500)</title>
</head>
<body>
<h1>Server Error (500)</h1><p></p>
</body>
</html>
2026-08-04 17:00:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://elmstreetbooks.com/event/2026-08-20/stacy-brook-presents-uncommon-college-essay-new-canaan-library>
{'event_url': 'https://elmstreetbooks.com/event/2026-08-20/stacy-brook-presents-uncommon-college-essay-new-canaan-library',
'platform': 'Elm street books',
'platform_hash': 'b8137ce32aec22df65f3cc623d0a56ae',
-
Tail
' <div class="product-list__pub-date"><span '
'class="product-details__label">Publish Date: </span> \n'
' <time '
'datetime="2026-09-22T12:00:00Z">9/22/2026</time>\n'
'\n'
' </div>\n'
' </div>\n'
' </div>\n'
' <div class="product-list__middle">\n'
' <div class="product-list__description">\n'
' \n'
' <p>The Swifts take Manhattan in the hilarious, '
'third installment of Beth Lincoln’s quick-witted\xa0bestselling '
'mystery series.<br><br>After catching a murderer at the family '
'reunion and solving a century-old art caper, the Swift children '
'have built a reputation as expert sleuths. But when cousin '
'Atrocious needs...</p>\n'
'\n'
'\n'
'\n'
' \n'
' <a '
'href="/book/9798217001989?ic_referral=xDz4SgHWJ938Pg0tiFpT9Cl4oZAC1B308qofW786RzYwMymz41w5ho-Fq00IbVnNgNMNCACRZ5N5uaGqwnU5tuvBI3fyab4qD6fPUbykTdmbuBUtVGJ5sOYUwsV1gkbLJ1xx" '
'class="product-list__description-link">Read More\n'
' <span class="visually-hidden">about The Swifts: A '
'Garden of Vipers\n'
' </span></a>\n'
' \n'
' <div class="product-details__availability-check">\n'
' Available for Preorder\n'
' </div>\n'
' \n'
' <div class="product-list__pub-date" '
'style="color:#b55e17;font-weight:bold;">Publish Date: \n'
' <time '
'datetime="2026-09-22T12:00:00Z">9/22/2026</time>\n'
'\n'
' </div>\n'
' </div>\n'
' </div>\n'
' <div class="product-list__right">\n'
' <div class="product-list__actions">\n'
'<a class="button add-to-cart-link" '
'href="/add-to-cart/1064734/1064734/OL67wYE7fz7Hg5R3?ic_referral=xDz4SgHWJ938Pg0tiFpT9Cl4oZAC1B308qofW786RzYwMymz41w5ho-Fq00IbVnNgNMNCACRZ5N5uaGqwnU5tuvBI3fyab4qD6fPUbykTdmbuBUtVGJ5sOYUwsV1gkbLJ1xx" '
'rel="nofollow" data-variation="1064734">Add to Cart</a>\n'
' <a '
'href="/user/login?destination=/event/2026-09-26/author-visit-beth-lincoln-new-canaan-library&wishlist_product_id=1064734" '
'class="button btn-link add-to-wishlist-link" id="wishlist-link" '
'rel="nofollow" data-variation="1064734" '
'data-drupal-selector="edit-wishlist">Add to wishlist</a>\n'
'</div>\n'
' </div>\n'
'</article>\n'
'\n'
' \n'
'\n'
'\n'
'\n'
'\n'
'\n'
'<article class="product-list__wrapper '
'product-list__related-books" '
'id="product-variation-wrapper--1073827">\n'
' <div class="product-list__left">\n'
' <div class="product-list__image">\n'
' <div class="product-list__image--inner">\n'
' <a '
'href="/book/9780593533253?ic_referral=TN7jcF9DhVGhN8bbsy5DvkKYI6Lpw-nHi1uz4NmEe8EwMwWg2p1oTlbPiY9FqnicRkJkh2a3RWoWmkS1DU59oGxVpIkJG807r9yG_OXOi2PelTIqHdpLs_cZ4i9Wc3vE-7sh">\n'
' \n'
' <img '
'src="https://images.booksense.com/images/253/533/9780593533253.jpg" '
'alt="The Swifts: A Dictionary of Scoundrels" onerror="this.src = '
'\'/modules/custom/indiecommerce_bds/assets/images/no_cover.jpg\';">\n'
' \n'
' </a>\n'
' </div>\n'
' </div>\n'
' <div class="product-list__inner">\n'
' <h2 class="product-list__title"><a '
'href="/book/9780593533253?ic_referral=TN7jcF9DhVGhN8bbsy5DvkKYI6Lpw-nHi1uz4NmEe8EwMwWg2p1oTlbPiY9FqnicRkJkh2a3RWoWmkS1DU59oGxVpIkJG807r9yG_OXOi2PelTIqHdpLs_cZ4i9Wc3vE-7sh">\n'
' The Swifts: A Dictionary of Scoundrels\n'
' </a></h2>\n'
' <div class="product-list__author">\n'
' Beth Lincoln\n'
' </div>\n'
' <div class="product-list__price">\n'
' <span class="product-list__price-sale"><span '
'class="visually-hidden">Current price: </span>\n'
' $9.99\n'
' </span>\n'
' </div>\n'
' <div class="product-list__binding">\n'
' Paperback\n'
' </div>\n'
' <div class="product-list__isbn">\n'
' <div>\n'
' <div class="product-details__label">ISBN:</div>\n'
' 9780593533253\n'
' \n'
' </div>\n'
'</div>\n'
' <div class="product-list__pub-date"><span '
'class="product-details__label">Publish Date: </span> \n'
' <time '
'datetime="2024-01-02T12:00:00Z">1/2/2024</time>\n'
'\n'
' </div>\n'
' </div>\n'
' </div>\n'
' <div class="product-list__middle">\n'
' <div class="product-list__description">\n'
' \n'
' <p>#1 New York Times bestseller!<br><br>The '
'critically lauded, wickedly smart whodunit with a “Knives Out '
'feel by way of Lemony Snicket,” now in paperback.<br><br>On the '
'day they are born, every Swift child is brought before the '
'sacred Family Dictionary. They are given a name, and a '
'definition. A definition it is...</p>\n'
'\n'
'\n'
'\n'
' \n'
' <a '
'href="/book/9780593533253?ic_referral=TN7jcF9DhVGhN8bbsy5DvkKYI6Lpw-nHi1uz4NmEe8EwMwWg2p1oTlbPiY9FqnicRkJkh2a3RWoWmkS1DU59oGxVpIkJG807r9yG_OXOi2PelTIqHdpLs_cZ4i9Wc3vE-7sh" '
'class="product-list__description-link">Read More\n'
' <span class="visually-hidden">about The Swifts: A '
'Dictionary of Scoundrels\n'
' </span></a>\n'
' \n'
' <div class="product-details__availability-check">\n'
' On Our Shelves Now (if qty of less than 2, please call '
'store to confirm)\n'
' </div>\n'
' \n'
' </div>\n'
' </div>\n'
' <div class="product-list__right">\n'
' <div class="product-list__actions">\n'
'<a class="button add-to-cart-link" '
'href="/add-to-cart/1073827/1073827/kETIWlCuQA8epuqf?ic_referral=TN7jcF9DhVGhN8bbsy5DvkKYI6Lpw-nHi1uz4NmEe8EwMwWg2p1oTlbPiY9FqnicRkJkh2a3RWoWmkS1DU59oGxVpIkJG807r9yG_OXOi2PelTIqHdpLs_cZ4i9Wc3vE-7sh" '
'rel="nofollow" data-variation="1073827">Add to Cart</a>\n'
' <a '
'href="/user/login?destination=/event/2026-09-26/author-visit-beth-lincoln-new-canaan-library&wishlist_product_id=1073827" '
'class="button btn-link add-to-wishlist-link" id="wishlist-link" '
'rel="nofollow" data-variation="1073827" '
'data-drupal-selector="edit-wishlist">Add to wishlist</a>\n'
'</div>\n'
' </div>\n'
'</article>\n'
'\n'
' </div>\n'
'</article>\n'
'\n'
'\n'
' </div>'}
2026-08-04 17:01:03 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-04 17:01:03 [scrapy.extensions.feedexport] INFO: Stored csv feed (8 items) in: output/2026/08/04/elm_street_books.csv
2026-08-04 17:01:03 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 7778,
'downloader/request_count': 10,
'downloader/request_method_count/GET': 10,
'downloader/response_bytes': 469321,
'downloader/response_count': 10,
'downloader/response_status_count/200': 10,
'elapsed_time_seconds': 14.819257,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 4, 15, 1, 3, 368402, tzinfo=datetime.timezone.utc),
'item_scraped_count': 8,
'items_per_minute': 34.285714285714285,
'log_count/DEBUG': 44,
'log_count/ERROR': 6,
'log_count/INFO': 3,
'memusage/max': 99684352,
'memusage/startup': 99684352,
'request_depth_max': 2,
'response_received_count': 10,
'responses_per_minute': 42.857142857142854,
'scheduler/dequeued': 10,
'scheduler/dequeued/memory': 10,
'scheduler/enqueued': 10,
'scheduler/enqueued/memory': 10,
'scrapy-zyte-api/429': 0,
'scrapy-zyte-api/attempts': 10,
'scrapy-zyte-api/error_ratio': 0.0,
'scrapy-zyte-api/errors': 0,
'scrapy-zyte-api/fatal_errors': 0,
'scrapy-zyte-api/mean_connection_seconds': 3.9008466444909575,
'scrapy-zyte-api/mean_response_seconds': 4.011165860667825,
'scrapy-zyte-api/processed': 10,
'scrapy-zyte-api/request_args/customHttpRequestHeaders': 10,
'scrapy-zyte-api/request_args/httpResponseBody': 10,
'scrapy-zyte-api/request_args/httpResponseHeaders': 10,
'scrapy-zyte-api/request_args/url': 10,
'scrapy-zyte-api/status_codes/200': 10,
'scrapy-zyte-api/success': 10,
'scrapy-zyte-api/success_ratio': 1.0,
'scrapy-zyte-api/throttle_ratio': 0.0,
'start_time': datetime.datetime(2026, 8, 4, 15, 0, 48, 549145, tzinfo=datetime.timezone.utc)}
2026-08-04 17:01:03 [scrapy.core.engine] INFO: Spider closed (finished)
-
Log
/1/log/utf8/event_scrapers/elm_street_books/44de1642901511f1ad3e0050565fa5d9/?job_finished=True
-
Source
http://127.0.0.1:6800/logs/event_scrapers/elm_street_books/44de1642901511f1ad3e0050565fa5d9.log