• 'pip install logparser' on host '127.0.0.1:6800' and run command 'logparser'. Or wait until LogParser parses the log.

PROJECT (event_scrapers), SPIDER (contem_prints)

  • Log analysis
  • Log categorization
  • View log
  • Crawler.stats
  • projectevent_scrapers
    spidercontem_prints
    job484acf1a900711f195a20050565fa5d9
    first_log_time2026-08-04 15:20:44
    latest_log_time2026-08-04 15:21:06
    runtime0:00:22
    crawled_pages 16
    scraped_items 13
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count13
    log_warning_count1
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://contemprints.org/exhibition/10th-biennial-footprint-international-exhibition/', 'platform_hash': '3da78e63c07fe8896cb13a6fbc93cfab', 'raw_body': '<div id="exhibitions"><h1>This is a content of ' 'exhibition</h1></div><h1 uk-scrollspy-class=""> 10th ' 'Biennial FOOTPRINT International Exhibition </h1><div ' 'class="uk-container fs-section-content">\n' '<div class="uk-grid tm-grid-expand uk-child-width-1-1 ' 'uk-grid-margin">\n' '<div class="uk-width-1-1">\n' '<h1 uk-scrollspy-class=""> 10th Biennial FOOTPRINT ' 'International Exhibition </h1><hr class="uk-divider-small" ' 'uk-scrollspy-class=""/>\n' '</div></div><div class="uk-grid tm-grid-expand uk-grid-margin" ' 'uk-grid="">\n' '<div class="uk-width-1-2@m">\n' '<div class="uk-panel uk-text-lead uk-text-danger uk-margin" ' 'uk-scrollspy-class="">June 7, 2026 – August 30, 2026</div><div ' 'uk-scrollspy-class=""><p><strong>JUROR: </strong>Dr. Amé ' 'Bell,<em> Gallery Director at David Krut Projects in ' 'Johannesburg, South Africa.</em></p>\n' '<p><strong><a ' 'href="https://contemprints.org/event/?id=100826">OPENING ' 'RECEPTION</a>:\xa0</strong>Sunday, June 7, 2026, 2-4 PM</p>\n' '<p><em>Image: Yoshiaki Murakami, Japan, “Pop-up Book”, ' 'Lithograph, 2026</em></p>\n' '<p><span style="font-weight: 400;">The Center for Contemporary ' 'Printmaking’s Biennial FOOTPRINT International Competition is an ' 'opportunity for the presentation of current trends and ' 'innovations in contemporary printmaking within the bounds of the ' 'one square foot (12” x 12”) configuration. The square format was ' 'uncommon in art until the advent of abstraction, and presents ' 'distinct challenges of composition and expression. Within these ' 'precise limits, artists must confront a space and create visual ' 'order and formal structure.</span></p>\n' '<p><span style="font-weight: 400;">All fine-art printmaking ' 'mediums are eligible for the competition, including woodcut, ' 'intaglio, lithography, screenprint, monotype, and original ' 'digital media. For 2026, juror Amé Bell reviewed 360 submissions ' 'from artists all over the world. Of these, she selected 86 ' 'prints for inclusion in the exhibition.\xa0</span></p>\n' '<p>\xa0</p>\n' '<h3><a ' 'href="https://www.flipsnack.com/55E7C75569B/10th-biennial-footprint-international-exhibition">10th ' 'Biennial FOOTPRINT International Exhibition Gallery ' 'Preview</a></h3></div>\n' '</div>\n' '<div class="uk-width-1-2@m">\n' '<div class="uk-margin" uk-scrollspy-class="">\n' '<picture>\n' '<source sizes="(min-width: 2000px) 2000px" ' 'srcset="/app/themes/yootheme/cache/1d/Footprint-2026-square-logo-1dc6b19d.webp ' '768w, ' '/app/themes/yootheme/cache/f0/Footprint-2026-square-logo-f0807b4b.webp ' '1024w, ' '/app/themes/yootheme/cache/f3/Footprint-2026-square-logo-f31d013c.webp ' '1366w, ' '/app/themes/yootheme/cache/c7/Footprint-2026-square-logo-c7a0528d.webp ' '1600w, ' '/app/themes/yootheme/cache/67/Footprint-2026-square-logo-67177d84.webp ' '1920w, ' '/app/themes/yootheme/cache/a1/Footprint-2026-square-logo-a14154d5.webp ' '2000w" type="image/webp"/>\n' '<img alt="" class="el-image uk-box-shadow-medium" ' 'decoding="async" height="2000" loading="lazy" ' 'src="/app/themes/yootheme/cache/64/Footprint-2026-square-logo-64f1bc79.png" ' 'width="2000"/>\n' '</picture>\n' '</div>\n' '</div></div><div class="uk-grid tm-grid-expand ' 'uk-child-width-1-1 uk-grid-margin">\n' '<div class="uk-width-1-1">\n' '<h1 uk-scrollspy-class=""> List of Artists </h1><div ' 'class="uk-panel uk-column-1-3@m uk-column-1-2@s uk-column-1-1 ' 'uk-margin" uk-scrollspy-class=""><h3>ACCEPTED ARTISTS:</h3>\n' '<p>Karen Adrienne</p>\n' '<p>Joanna Anos</p>\n' '<p>Jennifer Baldwin</p>\n' '<p>Souleima Basha</p>\n' '<p>Lois Bender</p>\n' '<p>McKayla Bensheimer**</p>\n' '<p>Eugenie Lewalski Berg</p>\n' '<p>Shirley Bernstein</p>\n' '<p>Elizabeth Busey</p>\n' '<p>Karen Brussat Butler</p>\n' '<p>Laura Cantor</p>\n' '<p>Jacqueline Collier</p>\n' '<p>Neal Cox*</p>\n' '<p>Paul Daukas Jr</p>\n' '<p>Kathleen DeMeo</p>\n' '<p>Cynthia DiGiacomo</p>\n' '<p>James Dormer</p>\n' '<p>William Evertson</p>\n' '<p>Sheila Fane</p>\n' '<p>Ana Fernandez</p>\n' '<p>Lisa Flynn</p>\n' '<p>Harrison Gill</p>\n' '<p>Patricia L Giraud</p>\n' '<p>Hanneke Goedkoop**</p>\n' '<p>Barry Goldstein</p>\n' '<p>Georgina Grenier</p>\n' '<p>Mark Grindell</p>\n' '<p>Alice Hayes</p>\n' '<p>Mary-Helen Horne</p>\n' '<p>Beth Howe</p>\n' '<p>Yukio Ito</p>\n' '<p>Martha Ives*</p>\n' '<p>Jayne Reid Jackson</p>\n' '<p>Oscar Jarsky</p>\n' '<p>Rachel Kangas</p>\n' '<p>Gali Katz**</p>\n' '<p>Brian Knoerzer</p>\n' '<p>Taichi Kodama</p>\n' '<p>Andrea Kornbluth</p>\n' '<p>Michael Krawiec</p>\n' '<p>Danguole Kuolas</p>\n' '<p>Ellen Lazarus</p>\n' '<p>Patricia Shaw Lima</p>\n' '<p>Arch MacInnes*</p>\n' '<p>Kate McGloughlin</p>\n' '<p>Larinda Meade</p>\n' '<p>Joseph Moore</p>\n' '<p>Yoshiaki Murakami*</p>\n' '<p>Danuta Muszynska</p>\n' '<p>Gina Palmer</p>\n' '<p>Lucie Palombi</p>\n' '<p>Sachin Pannuri</p>\n' '<p>Albert Pema</p>\n' '<p>Polly Perkins**</p>\n' '<p>Michael Piotrowski</p>\n' '<p>Meira Pomerantz</p>\n' '<p>Walter Procska**</p>\n' '<p>DeAnn Prosia</p>\n' '<p>Bryan Raymundo</p>\n' '<p>Kate Ricketson</p>\n' '<p>Lilia Robinowitz</p>\n' '<p>Sigita Rucinskaite Praneviciene</p>\n' '<p>Janet Sang</p>\n' '<p>Terry Schupbach-Gordon</p>\n' '<p>Esther Schwalb</p>\n' '<p>Lynita Shimizu</p>\n' '<p>Mike Sonnichsen</p>\n' '<p>Sawyer Strouth</p>\n' '<p>Mary Teichman</p>\n' '<p>Ann Tetelman</p>\n' '<p>Anna Trojanowska</p>\n' '<p>Karen Vogel</p>\n' '<p>April Vollmer</p>\n' '<p>Karen Waggoner</p>\n' '<p>Candacee White</p>\n' '<p>Cleo Wilkinson</p>\n' '<p>Cynthia Woolever Molinari</p>\n' '<p>Valerie Zeman</p>\n' '<p>\xa0</p>\n' '<p>*Prize Winner</p>\n' '<p>**Honorable Mention</p></div>\n' '</div></div><div class="uk-grid tm-grid-expand ' 'uk-child-width-1-1 uk-grid-margin">\n' '<div class="uk-width-1-1">\n' '<h1 uk-scrollspy-class=""> Image Gallery </h1>\n' '<div class="uk-margin">\n' '<div class="uk-grid uk-child-width-1-1 uk-child-width-1-3@m ' 'uk-grid-match" uk-grid="" uk-lightbox="toggle: a[data-type];"> ' '<div>\n' '</div>\n' '<div>\n' '</div>\n' '<div>\n' '</div>\n' '<div>\n' '</div>\n' '</div>\n' '</div>\n' '</div></div>\n' '</div>&lt;div class="uk-width-1-2@m"&gt;\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' &lt;div class="uk-panel uk-margin" ' 'uk-scrollspy-class&gt;&lt;h3&gt;Gallery and Studio ' 'Hours&lt;/h3&gt;\n' '&lt;p&gt;&lt;strong&gt;Tuesday–Saturday&lt;/strong&gt; 9am–5pm ' '&lt;br&gt;&lt;strong&gt;Sunday&lt;/strong&gt; 12pm–5pm ' '&lt;br&gt;&lt;strong&gt;Closed ' 'Mondays&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div ' 'class="uk-panel uk-margin" uk-scrollspy-class&gt;&lt;div ' 'class="uk-grid tm-grid-expand uk-grid-margin" uk-grid&gt;\n' '&lt;div class="uk-width-1-2@m"&gt;\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '&lt;div class="uk-margin" uk-scrollspy-class&gt; &lt;ul ' 'class="uk-child-width-auto uk-grid-small uk-flex-inline ' 'uk-flex-middle" uk-grid&gt;\n' ' &lt;li class="el-item"&gt;\n' '&lt;a class="el-link uk-icon-button" ' 'href="https://www.facebook.com/pages/Norwalk-CT/Center-for-Contemporary-Printmaking/888" ' 'rel="noreferrer"&gt;&lt;span uk-icon="icon: ' 'facebook;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n' ' &lt;li class="el-item"&gt;\n' '&lt;a class="el-link uk-icon-button" ' 'href="https://www.instagram.com/contemprints/" ' 'rel="noreferrer"&gt;&lt;span uk-icon="icon: ' 'instagram;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n' ' &lt;li class="el-item"&gt;\n' '&lt;a class="el-link uk-icon-button" ' 'href="https://visitor.r20.constantcontact.com/manage/optin?v=001DFTCDgfTjaimkdD9RixGh1V4JStiucuo" ' 'rel="noreferrer"&gt;&lt;span uk-icon="icon: ' 'mail;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n' ' \n' ' &lt;/ul&gt;&lt;/div&gt;\n' ' \n' ' \n' ' \n' ' \n' '&lt;/div&gt;\n' '&lt;div class="uk-width-1-2@m"&gt;\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '&lt;div class="uk-margin" uk-scrollspy-class&gt;\n' ' \n' ' \n' ' \n' ' \n' '&lt;a class="el-content uk-button uk-button-primary ' 'uk-button-small" ' 'href="https://visitor.r20.constantcontact.com/manage/optin?v=001DFTCDgfTjaimkdD9RixGh1V4JStiucuo"&gt;\n' ' \n' ' JOIN OUR NEWSLETTER \n' ' \n' '&lt;/a&gt;\n' '\n' '\n' ' \n' ' \n' ' \n' '&lt;/div&gt;\n' '\n' ' \n' ' \n' ' \n' ' \n' '&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;\n' ' \n' ' \n' ' \n' ' \n' '&lt;/div&gt;'}
    • WARNING+

    • error_logs
      13 in total

      2026-08-04 15:20:50 [contem_prints] 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 15:20:51 [contem_prints] 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 15:20:53 [contem_prints] 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 15:20:54 [contem_prints] 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 15:20:55 [contem_prints] 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 15:20:58 [contem_prints] 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 15:20:59 [contem_prints] 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 15:21:00 [contem_prints] 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 15:21:01 [contem_prints] 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 15:21:02 [contem_prints] 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 15:21:04 [contem_prints] 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 15:21:05 [contem_prints] 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 15:21:06 [contem_prints] 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>
      
    • warning_logs
      1 in total

      2026-08-04 15:20:45 [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 15:20:45 [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 15:20:45 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.contem_prints.ContemPrintsSpider 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 15:20:47 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://contemprints.org/event/?id=100815>, 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.

      INFO

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      8dfd6a0606736e55
    • latest_crawl

      2026-08-04 15:21:06 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://contemprints.org/exhibition/10th-biennial-footprint-international-exhibition/> (referer: https://contemprints.org/exhibitions)
    • latest_stat

      2026-08-04 15:20:45 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
    • latest_scrape

      2026-08-04 15:21:06 [scrapy.core.scraper] DEBUG: Scraped from <200 https://contemprints.org/exhibition/10th-biennial-footprint-international-exhibition/>
    • latest_item

      {'event_url': 'https://contemprints.org/exhibition/10th-biennial-footprint-international-exhibition/',
       'platform_hash': '3da78e63c07fe8896cb13a6fbc93cfab',
       'raw_body': '<div id="exhibitions"><h1>This is a content of '
                   'exhibition</h1></div><h1 uk-scrollspy-class="">        10th '
                   'Biennial FOOTPRINT International Exhibition    </h1><div '
                   'class="uk-container fs-section-content">\n'
                   '<div class="uk-grid tm-grid-expand uk-child-width-1-1 '
                   'uk-grid-margin">\n'
                   '<div class="uk-width-1-1">\n'
                   '<h1 uk-scrollspy-class="">        10th Biennial FOOTPRINT '
                   'International Exhibition    </h1><hr class="uk-divider-small" '
                   'uk-scrollspy-class=""/>\n'
                   '</div></div><div class="uk-grid tm-grid-expand uk-grid-margin" '
                   'uk-grid="">\n'
                   '<div class="uk-width-1-2@m">\n'
                   '<div class="uk-panel uk-text-lead uk-text-danger uk-margin" '
                   'uk-scrollspy-class="">June 7, 2026 – August 30, 2026</div><div '
                   'uk-scrollspy-class=""><p><strong>JUROR: </strong>Dr. Amé '
                   'Bell,<em> Gallery Director at David Krut Projects in '
                   'Johannesburg, South Africa.</em></p>\n'
                   '<p><strong><a '
                   'href="https://contemprints.org/event/?id=100826">OPENING '
                   'RECEPTION</a>:\xa0</strong>Sunday, June 7, 2026, 2-4 PM</p>\n'
                   '<p><em>Image: Yoshiaki Murakami, Japan, “Pop-up Book”, '
                   'Lithograph, 2026</em></p>\n'
                   '<p><span style="font-weight: 400;">The Center for Contemporary '
                   'Printmaking’s Biennial FOOTPRINT International Competition is an '
                   'opportunity for the presentation of current trends and '
                   'innovations in contemporary printmaking within the bounds of the '
                   'one square foot (12” x 12”) configuration. The square format was '
                   'uncommon in art until the advent of abstraction, and presents '
                   'distinct challenges of composition and expression. Within these '
                   'precise limits, artists must confront a space and create visual '
                   'order and formal structure.</span></p>\n'
                   '<p><span style="font-weight: 400;">All fine-art printmaking '
                   'mediums are eligible for the competition, including woodcut, '
                   'intaglio, lithography, screenprint, monotype, and original '
                   'digital media. For 2026, juror Amé Bell reviewed 360 submissions '
                   'from artists all over the world. Of these, she selected 86 '
                   'prints for inclusion in the exhibition.\xa0</span></p>\n'
                   '<p>\xa0</p>\n'
                   '<h3><a '
                   'href="https://www.flipsnack.com/55E7C75569B/10th-biennial-footprint-international-exhibition">10th '
                   'Biennial FOOTPRINT International Exhibition Gallery '
                   'Preview</a></h3></div>\n'
                   '</div>\n'
                   '<div class="uk-width-1-2@m">\n'
                   '<div class="uk-margin" uk-scrollspy-class="">\n'
                   '<picture>\n'
                   '<source sizes="(min-width: 2000px) 2000px" '
                   'srcset="/app/themes/yootheme/cache/1d/Footprint-2026-square-logo-1dc6b19d.webp '
                   '768w, '
                   '/app/themes/yootheme/cache/f0/Footprint-2026-square-logo-f0807b4b.webp '
                   '1024w, '
                   '/app/themes/yootheme/cache/f3/Footprint-2026-square-logo-f31d013c.webp '
                   '1366w, '
                   '/app/themes/yootheme/cache/c7/Footprint-2026-square-logo-c7a0528d.webp '
                   '1600w, '
                   '/app/themes/yootheme/cache/67/Footprint-2026-square-logo-67177d84.webp '
                   '1920w, '
                   '/app/themes/yootheme/cache/a1/Footprint-2026-square-logo-a14154d5.webp '
                   '2000w" type="image/webp"/>\n'
                   '<img alt="" class="el-image uk-box-shadow-medium" '
                   'decoding="async" height="2000" loading="lazy" '
                   'src="/app/themes/yootheme/cache/64/Footprint-2026-square-logo-64f1bc79.png" '
                   'width="2000"/>\n'
                   '</picture>\n'
                   '</div>\n'
                   '</div></div><div class="uk-grid tm-grid-expand '
                   'uk-child-width-1-1 uk-grid-margin">\n'
                   '<div class="uk-width-1-1">\n'
                   '<h1 uk-scrollspy-class="">        List of Artists    </h1><div '
                   'class="uk-panel uk-column-1-3@m uk-column-1-2@s uk-column-1-1 '
                   'uk-margin" uk-scrollspy-class=""><h3>ACCEPTED ARTISTS:</h3>\n'
                   '<p>Karen Adrienne</p>\n'
                   '<p>Joanna Anos</p>\n'
                   '<p>Jennifer Baldwin</p>\n'
                   '<p>Souleima Basha</p>\n'
                   '<p>Lois Bender</p>\n'
                   '<p>McKayla Bensheimer**</p>\n'
                   '<p>Eugenie Lewalski Berg</p>\n'
                   '<p>Shirley Bernstein</p>\n'
                   '<p>Elizabeth Busey</p>\n'
                   '<p>Karen Brussat Butler</p>\n'
                   '<p>Laura Cantor</p>\n'
                   '<p>Jacqueline Collier</p>\n'
                   '<p>Neal Cox*</p>\n'
                   '<p>Paul Daukas Jr</p>\n'
                   '<p>Kathleen DeMeo</p>\n'
                   '<p>Cynthia DiGiacomo</p>\n'
                   '<p>James Dormer</p>\n'
                   '<p>William Evertson</p>\n'
                   '<p>Sheila Fane</p>\n'
                   '<p>Ana Fernandez</p>\n'
                   '<p>Lisa Flynn</p>\n'
                   '<p>Harrison Gill</p>\n'
                   '<p>Patricia L Giraud</p>\n'
                   '<p>Hanneke Goedkoop**</p>\n'
                   '<p>Barry Goldstein</p>\n'
                   '<p>Georgina Grenier</p>\n'
                   '<p>Mark Grindell</p>\n'
                   '<p>Alice Hayes</p>\n'
                   '<p>Mary-Helen Horne</p>\n'
                   '<p>Beth Howe</p>\n'
                   '<p>Yukio Ito</p>\n'
                   '<p>Martha Ives*</p>\n'
                   '<p>Jayne Reid Jackson</p>\n'
                   '<p>Oscar Jarsky</p>\n'
                   '<p>Rachel Kangas</p>\n'
                   '<p>Gali Katz**</p>\n'
                   '<p>Brian Knoerzer</p>\n'
                   '<p>Taichi Kodama</p>\n'
                   '<p>Andrea Kornbluth</p>\n'
                   '<p>Michael Krawiec</p>\n'
                   '<p>Danguole Kuolas</p>\n'
                   '<p>Ellen Lazarus</p>\n'
                   '<p>Patricia Shaw Lima</p>\n'
                   '<p>Arch MacInnes*</p>\n'
                   '<p>Kate McGloughlin</p>\n'
                   '<p>Larinda Meade</p>\n'
                   '<p>Joseph Moore</p>\n'
                   '<p>Yoshiaki Murakami*</p>\n'
                   '<p>Danuta Muszynska</p>\n'
                   '<p>Gina Palmer</p>\n'
                   '<p>Lucie Palombi</p>\n'
                   '<p>Sachin Pannuri</p>\n'
                   '<p>Albert Pema</p>\n'
                   '<p>Polly Perkins**</p>\n'
                   '<p>Michael Piotrowski</p>\n'
                   '<p>Meira Pomerantz</p>\n'
                   '<p>Walter Procska**</p>\n'
                   '<p>DeAnn Prosia</p>\n'
                   '<p>Bryan Raymundo</p>\n'
                   '<p>Kate Ricketson</p>\n'
                   '<p>Lilia Robinowitz</p>\n'
                   '<p>Sigita Rucinskaite Praneviciene</p>\n'
                   '<p>Janet Sang</p>\n'
                   '<p>Terry Schupbach-Gordon</p>\n'
                   '<p>Esther Schwalb</p>\n'
                   '<p>Lynita Shimizu</p>\n'
                   '<p>Mike Sonnichsen</p>\n'
                   '<p>Sawyer Strouth</p>\n'
                   '<p>Mary Teichman</p>\n'
                   '<p>Ann Tetelman</p>\n'
                   '<p>Anna Trojanowska</p>\n'
                   '<p>Karen Vogel</p>\n'
                   '<p>April Vollmer</p>\n'
                   '<p>Karen Waggoner</p>\n'
                   '<p>Candacee White</p>\n'
                   '<p>Cleo Wilkinson</p>\n'
                   '<p>Cynthia Woolever Molinari</p>\n'
                   '<p>Valerie Zeman</p>\n'
                   '<p>\xa0</p>\n'
                   '<p>*Prize Winner</p>\n'
                   '<p>**Honorable Mention</p></div>\n'
                   '</div></div><div class="uk-grid tm-grid-expand '
                   'uk-child-width-1-1 uk-grid-margin">\n'
                   '<div class="uk-width-1-1">\n'
                   '<h1 uk-scrollspy-class="">        Image Gallery    </h1>\n'
                   '<div class="uk-margin">\n'
                   '<div class="uk-grid uk-child-width-1-1 uk-child-width-1-3@m '
                   'uk-grid-match" uk-grid="" uk-lightbox="toggle: a[data-type];"> '
                   '<div>\n'
                   '</div>\n'
                   '<div>\n'
                   '</div>\n'
                   '<div>\n'
                   '</div>\n'
                   '<div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div></div>\n'
                   '</div>&lt;div class="uk-width-1-2@m"&gt;\n'
                   '    \n'
                   '        \n'
                   '            \n'
                   '            \n'
                   '            \n'
                   '                \n'
                   '                    &lt;div class="uk-panel uk-margin" '
                   'uk-scrollspy-class&gt;&lt;h3&gt;Gallery and Studio '
                   'Hours&lt;/h3&gt;\n'
                   '&lt;p&gt;&lt;strong&gt;Tuesday–Saturday&lt;/strong&gt; 9am–5pm '
                   '&lt;br&gt;&lt;strong&gt;Sunday&lt;/strong&gt; 12pm–5pm '
                   '&lt;br&gt;&lt;strong&gt;Closed '
                   'Mondays&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div '
                   'class="uk-panel uk-margin" uk-scrollspy-class&gt;&lt;div '
                   'class="uk-grid tm-grid-expand uk-grid-margin" uk-grid&gt;\n'
                   '&lt;div class="uk-width-1-2@m"&gt;\n'
                   '    \n'
                   '        \n'
                   '            \n'
                   '            \n'
                   '            \n'
                   '                \n'
                   '                    \n'
                   '&lt;div class="uk-margin" uk-scrollspy-class&gt;    &lt;ul '
                   'class="uk-child-width-auto uk-grid-small uk-flex-inline '
                   'uk-flex-middle" uk-grid&gt;\n'
                   '            &lt;li class="el-item"&gt;\n'
                   '&lt;a class="el-link uk-icon-button" '
                   'href="https://www.facebook.com/pages/Norwalk-CT/Center-for-Contemporary-Printmaking/888" '
                   'rel="noreferrer"&gt;&lt;span uk-icon="icon: '
                   'facebook;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n'
                   '            &lt;li class="el-item"&gt;\n'
                   '&lt;a class="el-link uk-icon-button" '
                   'href="https://www.instagram.com/contemprints/" '
                   'rel="noreferrer"&gt;&lt;span uk-icon="icon: '
                   'instagram;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n'
                   '            &lt;li class="el-item"&gt;\n'
                   '&lt;a class="el-link uk-icon-button" '
                   'href="https://visitor.r20.constantcontact.com/manage/optin?v=001DFTCDgfTjaimkdD9RixGh1V4JStiucuo" '
                   'rel="noreferrer"&gt;&lt;span uk-icon="icon: '
                   'mail;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n'
                   '    \n'
                   '    &lt;/ul&gt;&lt;/div&gt;\n'
                   '                \n'
                   '            \n'
                   '        \n'
                   '    \n'
                   '&lt;/div&gt;\n'
                   '&lt;div class="uk-width-1-2@m"&gt;\n'
                   '    \n'
                   '        \n'
                   '            \n'
                   '            \n'
                   '            \n'
                   '                \n'
                   '                    \n'
                   '&lt;div class="uk-margin" uk-scrollspy-class&gt;\n'
                   '    \n'
                   '    \n'
                   '        \n'
                   '        \n'
                   '&lt;a class="el-content uk-button uk-button-primary '
                   'uk-button-small" '
                   'href="https://visitor.r20.constantcontact.com/manage/optin?v=001DFTCDgfTjaimkdD9RixGh1V4JStiucuo"&gt;\n'
                   '    \n'
                   '        JOIN OUR NEWSLETTER    \n'
                   '    \n'
                   '&lt;/a&gt;\n'
                   '\n'
                   '\n'
                   '        \n'
                   '    \n'
                   '    \n'
                   '&lt;/div&gt;\n'
                   '\n'
                   '                \n'
                   '            \n'
                   '        \n'
                   '    \n'
                   '&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;\n'
                   '                \n'
                   '            \n'
                   '        \n'
                   '    \n'
                   '&lt;/div&gt;'}
    • Head

      2026-08-04 15:20:44 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-04 15:20:44 [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 15:20:44 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-04 15:20:44 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-04 15:20:44 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-04 15:20:45 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-04 15:20:45 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-04 15:20:45 [scrapy.extensions.telnet] INFO: Telnet Password: 8dfd6a0606736e55
      2026-08-04 15:20:45 [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 15:20:45 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x7acc7462b4c0>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/contem_prints/484acf1a900711f195a20050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-04 15:20:45 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-04 15:20:45 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-04 15:20:45 [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 15:20:45 [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 15:20:45 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-04 15:20:45 [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 15:20:45 [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 15:20:45 [scrapy.core.engine] INFO: Spider opened
      2026-08-04 15:20:45 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.contem_prints.ContemPrintsSpider 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 15:20:45 [contem_prints] INFO: Sending scraped events to prod API
      2026-08-04 15:20:45 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-04 15:20:45 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-04 15:20:47 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://contemprints.org/education/workshops/> (referer: None)
      2026-08-04 15:20:47 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://contemprints.org/events/> (referer: None)
      2026-08-04 15:20:47 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://contemprints.org/exhibitions> (referer: None)
      2026-08-04 15:20:47 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://contemprints.org/event/?id=100815>, 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-04 15:20:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://contemprints.org/event/?id=100815> (referer: https://contemprints.org/events/)
      2026-08-04 15:20:49 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-04 15:20:50 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
      2026-08-04 15:20:50 [contem_prints] 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 15:20:50 [scrapy.core.scraper] DEBUG: Scraped from <200 https://contemprints.org/event/?id=100815>
      {'event_url': 'https://contemprints.org/event/?id=100815',
       'platform_hash': '3da78e63c07fe8896cb13a6fbc93cfab',
       'raw_body': '<h1>        2026 MONOTHON Auction &amp; Party    </h1><div '
                   'class="uk-panel uk-position-z-index" uk-sticky="end: '
                   '!.js-sticky; media: @m;">\n'
                   '<div class="uk-panel uk-margin"><h2>Join us for our annual '
                   'MONOTHON Auction &amp; Party!</h2>\n'
                   '<p>Come see all the incredible Monotypes created during Monothon '
    • Tail

                   '<p>Cynthia DiGiacomo</p>\n'
                   '<p>James Dormer</p>\n'
                   '<p>William Evertson</p>\n'
                   '<p>Sheila Fane</p>\n'
                   '<p>Ana Fernandez</p>\n'
                   '<p>Lisa Flynn</p>\n'
                   '<p>Harrison Gill</p>\n'
                   '<p>Patricia L Giraud</p>\n'
                   '<p>Hanneke Goedkoop**</p>\n'
                   '<p>Barry Goldstein</p>\n'
                   '<p>Georgina Grenier</p>\n'
                   '<p>Mark Grindell</p>\n'
                   '<p>Alice Hayes</p>\n'
                   '<p>Mary-Helen Horne</p>\n'
                   '<p>Beth Howe</p>\n'
                   '<p>Yukio Ito</p>\n'
                   '<p>Martha Ives*</p>\n'
                   '<p>Jayne Reid Jackson</p>\n'
                   '<p>Oscar Jarsky</p>\n'
                   '<p>Rachel Kangas</p>\n'
                   '<p>Gali Katz**</p>\n'
                   '<p>Brian Knoerzer</p>\n'
                   '<p>Taichi Kodama</p>\n'
                   '<p>Andrea Kornbluth</p>\n'
                   '<p>Michael Krawiec</p>\n'
                   '<p>Danguole Kuolas</p>\n'
                   '<p>Ellen Lazarus</p>\n'
                   '<p>Patricia Shaw Lima</p>\n'
                   '<p>Arch MacInnes*</p>\n'
                   '<p>Kate McGloughlin</p>\n'
                   '<p>Larinda Meade</p>\n'
                   '<p>Joseph Moore</p>\n'
                   '<p>Yoshiaki Murakami*</p>\n'
                   '<p>Danuta Muszynska</p>\n'
                   '<p>Gina Palmer</p>\n'
                   '<p>Lucie Palombi</p>\n'
                   '<p>Sachin Pannuri</p>\n'
                   '<p>Albert Pema</p>\n'
                   '<p>Polly Perkins**</p>\n'
                   '<p>Michael Piotrowski</p>\n'
                   '<p>Meira Pomerantz</p>\n'
                   '<p>Walter Procska**</p>\n'
                   '<p>DeAnn Prosia</p>\n'
                   '<p>Bryan Raymundo</p>\n'
                   '<p>Kate Ricketson</p>\n'
                   '<p>Lilia Robinowitz</p>\n'
                   '<p>Sigita Rucinskaite Praneviciene</p>\n'
                   '<p>Janet Sang</p>\n'
                   '<p>Terry Schupbach-Gordon</p>\n'
                   '<p>Esther Schwalb</p>\n'
                   '<p>Lynita Shimizu</p>\n'
                   '<p>Mike Sonnichsen</p>\n'
                   '<p>Sawyer Strouth</p>\n'
                   '<p>Mary Teichman</p>\n'
                   '<p>Ann Tetelman</p>\n'
                   '<p>Anna Trojanowska</p>\n'
                   '<p>Karen Vogel</p>\n'
                   '<p>April Vollmer</p>\n'
                   '<p>Karen Waggoner</p>\n'
                   '<p>Candacee White</p>\n'
                   '<p>Cleo Wilkinson</p>\n'
                   '<p>Cynthia Woolever Molinari</p>\n'
                   '<p>Valerie Zeman</p>\n'
                   '<p>\xa0</p>\n'
                   '<p>*Prize Winner</p>\n'
                   '<p>**Honorable Mention</p></div>\n'
                   '</div></div><div class="uk-grid tm-grid-expand '
                   'uk-child-width-1-1 uk-grid-margin">\n'
                   '<div class="uk-width-1-1">\n'
                   '<h1 uk-scrollspy-class="">        Image Gallery    </h1>\n'
                   '<div class="uk-margin">\n'
                   '<div class="uk-grid uk-child-width-1-1 uk-child-width-1-3@m '
                   'uk-grid-match" uk-grid="" uk-lightbox="toggle: a[data-type];"> '
                   '<div>\n'
                   '</div>\n'
                   '<div>\n'
                   '</div>\n'
                   '<div>\n'
                   '</div>\n'
                   '<div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div></div>\n'
                   '</div>&lt;div class="uk-width-1-2@m"&gt;\n'
                   '    \n'
                   '        \n'
                   '            \n'
                   '            \n'
                   '            \n'
                   '                \n'
                   '                    &lt;div class="uk-panel uk-margin" '
                   'uk-scrollspy-class&gt;&lt;h3&gt;Gallery and Studio '
                   'Hours&lt;/h3&gt;\n'
                   '&lt;p&gt;&lt;strong&gt;Tuesday–Saturday&lt;/strong&gt; 9am–5pm '
                   '&lt;br&gt;&lt;strong&gt;Sunday&lt;/strong&gt; 12pm–5pm '
                   '&lt;br&gt;&lt;strong&gt;Closed '
                   'Mondays&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div '
                   'class="uk-panel uk-margin" uk-scrollspy-class&gt;&lt;div '
                   'class="uk-grid tm-grid-expand uk-grid-margin" uk-grid&gt;\n'
                   '&lt;div class="uk-width-1-2@m"&gt;\n'
                   '    \n'
                   '        \n'
                   '            \n'
                   '            \n'
                   '            \n'
                   '                \n'
                   '                    \n'
                   '&lt;div class="uk-margin" uk-scrollspy-class&gt;    &lt;ul '
                   'class="uk-child-width-auto uk-grid-small uk-flex-inline '
                   'uk-flex-middle" uk-grid&gt;\n'
                   '            &lt;li class="el-item"&gt;\n'
                   '&lt;a class="el-link uk-icon-button" '
                   'href="https://www.facebook.com/pages/Norwalk-CT/Center-for-Contemporary-Printmaking/888" '
                   'rel="noreferrer"&gt;&lt;span uk-icon="icon: '
                   'facebook;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n'
                   '            &lt;li class="el-item"&gt;\n'
                   '&lt;a class="el-link uk-icon-button" '
                   'href="https://www.instagram.com/contemprints/" '
                   'rel="noreferrer"&gt;&lt;span uk-icon="icon: '
                   'instagram;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n'
                   '            &lt;li class="el-item"&gt;\n'
                   '&lt;a class="el-link uk-icon-button" '
                   'href="https://visitor.r20.constantcontact.com/manage/optin?v=001DFTCDgfTjaimkdD9RixGh1V4JStiucuo" '
                   'rel="noreferrer"&gt;&lt;span uk-icon="icon: '
                   'mail;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n'
                   '    \n'
                   '    &lt;/ul&gt;&lt;/div&gt;\n'
                   '                \n'
                   '            \n'
                   '        \n'
                   '    \n'
                   '&lt;/div&gt;\n'
                   '&lt;div class="uk-width-1-2@m"&gt;\n'
                   '    \n'
                   '        \n'
                   '            \n'
                   '            \n'
                   '            \n'
                   '                \n'
                   '                    \n'
                   '&lt;div class="uk-margin" uk-scrollspy-class&gt;\n'
                   '    \n'
                   '    \n'
                   '        \n'
                   '        \n'
                   '&lt;a class="el-content uk-button uk-button-primary '
                   'uk-button-small" '
                   'href="https://visitor.r20.constantcontact.com/manage/optin?v=001DFTCDgfTjaimkdD9RixGh1V4JStiucuo"&gt;\n'
                   '    \n'
                   '        JOIN OUR NEWSLETTER    \n'
                   '    \n'
                   '&lt;/a&gt;\n'
                   '\n'
                   '\n'
                   '        \n'
                   '    \n'
                   '    \n'
                   '&lt;/div&gt;\n'
                   '\n'
                   '                \n'
                   '            \n'
                   '        \n'
                   '    \n'
                   '&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;\n'
                   '                \n'
                   '            \n'
                   '        \n'
                   '    \n'
                   '&lt;/div&gt;'}
      2026-08-04 15:21:06 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-04 15:21:06 [scrapy.extensions.feedexport] INFO: Stored csv feed (13 items) in: output/2026/08/04/contem_prints.csv
      2026-08-04 15:21:06 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 5143,
       'downloader/request_count': 16,
       'downloader/request_method_count/GET': 16,
       'downloader/response_bytes': 1298647,
       'downloader/response_count': 16,
       'downloader/response_status_count/200': 16,
       'elapsed_time_seconds': 20.987114,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 4, 13, 21, 6, 592573, tzinfo=datetime.timezone.utc),
       'item_scraped_count': 13,
       'items_per_minute': 39.0,
       'log_count/DEBUG': 55,
       'log_count/ERROR': 13,
       'log_count/INFO': 3,
       'log_count/WARNING': 1,
       'memusage/max': 99631104,
       'memusage/startup': 99631104,
       'request_depth_max': 1,
       'response_received_count': 16,
       'responses_per_minute': 48.0,
       'scheduler/dequeued': 16,
       'scheduler/dequeued/memory': 16,
       'scheduler/enqueued': 16,
       'scheduler/enqueued/memory': 16,
       'start_time': datetime.datetime(2026, 8, 4, 13, 20, 45, 605459, tzinfo=datetime.timezone.utc)}
      2026-08-04 15:21:06 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/contem_prints/484acf1a900711f195a20050565fa5d9/?job_finished=True

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/contem_prints/484acf1a900711f195a20050565fa5d9.log

  • sourcelog
    last_update_time2026-08-04 15:21:06
    last_update_timestamp1785849666
    downloader/request_bytes5143
    downloader/request_count16
    downloader/request_method_count/GET16
    downloader/response_bytes1298647
    downloader/response_count16
    downloader/response_status_count/20016
    elapsed_time_seconds20.987114
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 8, 4, 13, 21, 6, 592573, tzinfo=datetime.timezone.utc)
    item_scraped_count13
    items_per_minute39.0
    log_count/DEBUG55
    log_count/ERROR13
    log_count/INFO3
    log_count/WARNING1
    memusage/max99631104
    memusage/startup99631104
    request_depth_max1
    response_received_count16
    responses_per_minute48.0
    scheduler/dequeued16
    scheduler/dequeued/memory16
    scheduler/enqueued16
    scheduler/enqueued/memory16
    start_timedatetime.datetime(2026, 8, 4, 13, 20, 45, 605459, tzinfo=datetime.timezone.utc)