• '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 (silver_mine_art)

  • Log analysis
  • Log categorization
  • Progress visualization
  • View log
  • Crawler.stats
  • projectevent_scrapers
    spidersilver_mine_art
    job356f9639905b11f180d10050565fa5d9
    first_log_time2026-08-05 01:21:28
    latest_log_time2026-08-05 01:32:00
    runtime0:10:32
    crawled_pages 1
    scraped_items 164
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count163
    log_warning_count3
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://silvermineart.asapconnected.com/#CourseID=166010', 'platform': 'Silver mine Art', 'platform_hash': 'd7bc61ce9deed4684a390e0213c452ef', 'raw_body': '<article id="166010">\n' '<h2><a class="lnkCourseDetails" courseid="166010" href="#" ' 'onclick="return false;">Youth Oil Painting (Ages: ' '13-17)</a></h2>\n' '<div></div>\n' '<div class="thumbnail" style="display: block;">\n' '<a href="#"><img alt="" class="lnkCourseDetails" ' 'onerror="this.style.display=\'none\';" ' 'src="files/read?file=/images/course/161402802438859_youth ' 'oil.jpg"/></a>\n' '</div>\n' '<div class="description">\n' '<p></p><p><span style=\'font-family: Arial, "Helvetica Neue", ' "Helvetica, sans-serif; font-size: 14px; color: #000000'>Students " 'will learn about the beautiful and unique qualities of painting ' 'in oil. We will learn about setting up a palette, color mixing, ' 'mediums and glazing, layering and care of materials. Working ' 'both in the studio and plein air to create a still-life and ' 'landscape, the areas of sighting, linear and aerial perspective ' 'will be covered, allowing students to accurately paint what they ' 'see.</span></p><p></p>\n' '<p></p><h3 class="black">Additional Information:</h3><div ' 'style=\'font-family: "Open Sans", sans-serif; color: rgb(51, 51, ' '51); font-size: 16px; background-color: rgb(255, 255, ' "255)'><p><span style='letter-spacing: 0.2px; font-family: Arial, " '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: ' "#000000'>List of Materials: All materials are provided for this " "offering.</span></p><p><span style='font-family: Arial, " '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: ' "#000000'>Forms are required at the time of registration, click " '</span><a href="files/read?file=files/School Year Youth Program ' 'Forms.pdf" style="color: blue !important; text-decoration: ' 'underline blue !important" target="_blank"><span ' 'style=\'font-family: Arial, "Helvetica Neue", Helvetica, ' 'sans-serif; font-size: 12px; color: ' "#000000'>here</span></a><span style='font-family: Arial, " '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: ' "#000000'> to access.</span></p></div><p></p>\n" '</div>\n' '<table class="course-details">\n' '<thead>\n' '<tr>\n' '<th class="dates show-on-mobile" scope="col"><a href="#" ' 'onclick="return false;">Dates</a></th>\n' '<th class="days show-on-mobile" scope="col"><a href="#" ' 'onclick="return false;">Days</a></th>\n' '<th class="times show-on-mobile" scope="col"><a href="#" ' 'onclick="return false;">Times</a></th>\n' '<th class="instructor" scope="col"><a href="#" onclick="return ' 'false;">Instructor</a></th>\n' '<th class="" scope="col"><a href="#" onclick="return ' 'false;">Ages</a></th>\n' '<th class="" scope="col"><a href="#" onclick="return ' 'false;">Fees</a></th>\n' '<th class="" scope="col"><a href="#" onclick="return ' 'false;">Details</a></th>\n' '<th class="show-on-mobile" scope="col"><a href="#" ' 'onclick="return false;">Open</a></th>\n' '<th scope="col"></th>\n' '</tr>\n' '</thead>\n' '<tbody>\n' '<tr>\n' '<td class="show-on-mobile">9/24</td>\n' '\n' '<td class="show-on-mobile">04:30 PM – 06:30 PM</td>\n' '<td><a href="#FacultyDetail=75691">Guerin, C.J.</a></td>\n' '<td class="">13 - 18</td>\n' '<td class="">$340.00</td>\n' '<td class="">\n' '<a eventid="3065974" href="#EventID=3065974" ' 'id="lnkViewDetails">View</a>\n' '</td>\n' '<td class="show-on-mobile">12</td>\n' '<td class="">\n' '<a class="button small check-2" data-recurring="" ' 'defaultfeesum="$340.00" eventid="3065974" ' 'hasflexibleschedule="false" hasrecurringfees="false" href="#" ' 'id="lnkAddToShopCart" isdetail="false" ispickaday="false" ' 'itemtype="event" maxdays="0" onclick="return false;" ' 'openslots="12" registertype="register" ' 'scheduledeventfeeassnid="0">Register Now</a>\n' '</td>\n' '</tr>\n' '</tbody>\n' '</table>\n' '</article>'}
    • WARNING+

    • error_logs
      163 in total

      2026-08-05 01:31:42 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:42 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:42 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:42 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] 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-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:43 [silver_mine_art] 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-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:44 [silver_mine_art] 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-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] 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-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:45 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] 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-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:46 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:47 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] 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-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:48 [silver_mine_art] 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-05 01:31:48 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] 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-05 01:31:49 [silver_mine_art] 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-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:49 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] 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-05 01:31:50 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] 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-05 01:31:50 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:50 [silver_mine_art] 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-05 01:31:51 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:51 [silver_mine_art] 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-05 01:31:51 [silver_mine_art] 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-05 01:31:51 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:51 [silver_mine_art] 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-05 01:31:51 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:51 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:51 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:51 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:52 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] 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-05 01:31:53 [silver_mine_art] 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-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:53 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:54 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] 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-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] 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-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:55 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] 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-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:56 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] 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-05 01:31:57 [silver_mine_art] 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-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:57 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] 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-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:58 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:31:59 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:32:00 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:32:00 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:32:00 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
    • warning_logs
      3 in total

      2026-08-05 01:21:29 [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-05 01:21:29 [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-05 01:21:29 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.silver_mine_art.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(
      

      INFO

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      db154b61004736d0
    • latest_crawl

      2026-08-05 01:21:32 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://silvermineart.asapconnected.com/#CourseIndex> (referer: None)
    • latest_stat

      2026-08-05 01:31:53 [scrapy.extensions.logstats] INFO: Crawled 1 pages (at 1 pages/min), scraped 100 items (at 100 items/min)
    • latest_scrape

      2026-08-05 01:32:00 [scrapy.core.scraper] DEBUG: Scraped from <200 https://silvermineart.asapconnected.com/>
    • latest_item

      {'event_url': 'https://silvermineart.asapconnected.com/#CourseID=166010',
       'platform': 'Silver mine Art',
       'platform_hash': 'd7bc61ce9deed4684a390e0213c452ef',
       'raw_body': '<article id="166010">\n'
                   '<h2><a class="lnkCourseDetails" courseid="166010" href="#" '
                   'onclick="return false;">Youth Oil Painting (Ages: '
                   '13-17)</a></h2>\n'
                   '<div></div>\n'
                   '<div class="thumbnail" style="display: block;">\n'
                   '<a href="#"><img alt="" class="lnkCourseDetails" '
                   'onerror="this.style.display=\'none\';" '
                   'src="files/read?file=/images/course/161402802438859_youth '
                   'oil.jpg"/></a>\n'
                   '</div>\n'
                   '<div class="description">\n'
                   '<p></p><p><span style=\'font-family: Arial, "Helvetica Neue", '
                   "Helvetica, sans-serif; font-size: 14px; color: #000000'>Students "
                   'will learn about the beautiful and unique qualities of painting '
                   'in oil. We will learn about setting up a palette, color mixing, '
                   'mediums and glazing, layering and care of materials. Working '
                   'both in the studio and plein air to create a still-life and '
                   'landscape, the areas of sighting, linear and aerial perspective '
                   'will be covered, allowing students to accurately paint what they '
                   'see.</span></p><p></p>\n'
                   '<p></p><h3 class="black">Additional Information:</h3><div '
                   'style=\'font-family: "Open Sans", sans-serif; color: rgb(51, 51, '
                   '51); font-size: 16px; background-color: rgb(255, 255, '
                   "255)'><p><span style='letter-spacing: 0.2px; font-family: Arial, "
                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'>List of Materials: All materials are provided for this "
                   "offering.</span></p><p><span style='font-family: Arial, "
                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'>Forms are required at the time of registration, click "
                   '</span><a href="files/read?file=files/School Year Youth Program '
                   'Forms.pdf" style="color: blue !important; text-decoration: '
                   'underline blue !important" target="_blank"><span '
                   'style=\'font-family: Arial, "Helvetica Neue", Helvetica, '
                   'sans-serif; font-size: 12px; color: '
                   "#000000'>here</span></a><span style='font-family: Arial, "
                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'> to access.</span></p></div><p></p>\n"
                   '</div>\n'
                   '<table class="course-details">\n'
                   '<thead>\n'
                   '<tr>\n'
                   '<th class="dates show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Dates</a></th>\n'
                   '<th class="days show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Days</a></th>\n'
                   '<th class="times show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Times</a></th>\n'
                   '<th class="instructor" scope="col"><a href="#" onclick="return '
                   'false;">Instructor</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Ages</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Fees</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Details</a></th>\n'
                   '<th class="show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Open</a></th>\n'
                   '<th scope="col"></th>\n'
                   '</tr>\n'
                   '</thead>\n'
                   '<tbody>\n'
                   '<tr>\n'
                   '<td class="show-on-mobile">9/24</td>\n'
                   '\n'
                   '<td class="show-on-mobile">04:30 PM – 06:30 PM</td>\n'
                   '<td><a href="#FacultyDetail=75691">Guerin, C.J.</a></td>\n'
                   '<td class="">13 - 18</td>\n'
                   '<td class="">$340.00</td>\n'
                   '<td class="">\n'
                   '<a eventid="3065974" href="#EventID=3065974" '
                   'id="lnkViewDetails">View</a>\n'
                   '</td>\n'
                   '<td class="show-on-mobile">12</td>\n'
                   '<td class="">\n'
                   '<a class="button small check-2" data-recurring="" '
                   'defaultfeesum="$340.00" eventid="3065974" '
                   'hasflexibleschedule="false" hasrecurringfees="false" href="#" '
                   'id="lnkAddToShopCart" isdetail="false" ispickaday="false" '
                   'itemtype="event" maxdays="0" onclick="return false;" '
                   'openslots="12" registertype="register" '
                   'scheduledeventfeeassnid="0">Register Now</a>\n'
                   '</td>\n'
                   '</tr>\n'
                   '</tbody>\n'
                   '</table>\n'
                   '</article>'}
    • Head

      2026-08-05 01:21:28 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-05 01:21:28 [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-05 01:21:28 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-05 01:21:28 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-05 01:21:28 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-05 01:21:29 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-05 01:21:29 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-05 01:21:29 [scrapy.extensions.telnet] INFO: Telnet Password: db154b61004736d0
      2026-08-05 01:21:29 [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-05 01:21:29 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x7a90101334c0>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/silver_mine_art/356f9639905b11f180d10050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-05 01:21:29 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-05 01:21:29 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-05 01:21:29 [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-05 01:21:29 [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-05 01:21:29 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-05 01:21:29 [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-05 01:21:29 [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-05 01:21:29 [scrapy.core.engine] INFO: Spider opened
      2026-08-05 01:21:29 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.silver_mine_art.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-05 01:21:29 [silver_mine_art] INFO: Sending scraped events to prod API
      2026-08-05 01:21:29 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-05 01:21:29 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-05 01:21:32 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://silvermineart.asapconnected.com/#CourseIndex> (referer: None)
      2026-08-05 01:21:32 [selenium.webdriver.common.selenium_manager] DEBUG: Selenium Manager binary found at: /root/.venv/lib/python3.12/site-packages/selenium/webdriver/common/linux/selenium-manager
      2026-08-05 01:21:32 [selenium.webdriver.common.selenium_manager] DEBUG: Executing process: /root/.venv/lib/python3.12/site-packages/selenium/webdriver/common/linux/selenium-manager --browser chrome --language-binding python --output json
      2026-08-05 01:21:40 [selenium.webdriver.common.selenium_manager] DEBUG: Driver path: /usr/bin/chromedriver
      2026-08-05 01:21:40 [selenium.webdriver.common.selenium_manager] DEBUG: Browser path: /usr/bin/chromium-browser
      2026-08-05 01:21:40 [selenium.webdriver.common.service] DEBUG: Started executable: `/usr/bin/chromedriver` in a child process with pid: 2333942 using 0 to output -3
      2026-08-05 01:21:41 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:46573/session {'capabilities': {'firstMatch': [{}], 'alwaysMatch': {'browserName': 'chrome', 'pageLoadStrategy': <PageLoadStrategy.normal: 'normal'>, 'browserVersion': None, 'goog:chromeOptions': {'extensions': [], 'binary': '/usr/bin/chromium-browser', 'args': ['--headless=new', '--disable-gpu', '--no-sandbox', '--window-size=1920,1080']}}}}
      2026-08-05 01:21:41 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): localhost:46573
      2026-08-05 01:21:48 [urllib3.connectionpool] DEBUG: http://localhost:46573 "POST /session HTTP/1.1" 200 0
      2026-08-05 01:21:48 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":{"capabilities":{"acceptInsecureCerts":false,"browserName":"chrome","browserVersion":"150.0.7871.128","chrome":{"chromedriverVersion":"150.0.7871.128 (81891e5ca708047763816c778216799ef14c66cb-refs/branch-heads/7871_124@{#9})","userDataDir":"/tmp/org.chromium.Chromium.scoped_dir.jwR5Cp"},"fedcm:accounts":true,"goog:chromeOptions":{"debuggerAddress":"localhost:46341"},"goog:processID":2334013,"networkConnectionEnabled":false,"pageLoadStrategy":"normal","platformName":"linux","proxy":{},"setWindowRect":true,"strictFileInteractability":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unhandledPromptBehavior":"dismiss and notify","webauthn:extension:credBlob":true,"webauthn:extension:largeBlob":true,"webauthn:extension:minPinLength":true,"webauthn:extension:prf":true,"webauthn:virtualAuthenticators":true},"sessionId":"6da96bd5e711106170043987a6fdb485"}} | headers=HTTPHeaderDict({'Content-Length': '886', 'Content-Type': 'application/json; charset=utf-8', 'cache-control': 'no-cache'})
      2026-08-05 01:21:48 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
      2026-08-05 01:21:48 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:46573/session/6da96bd5e711106170043987a6fdb485/url {'url': 'https://silvermineart.asapconnected.com/#CourseIndex'}
      2026-08-05 01:21:54 [urllib3.connectionpool] DEBUG: http://localhost:46573 "POST /session/6da96bd5e711106170043987a6fdb485/url HTTP/1.1" 200 0
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'Content-Length': '14', 'Content-Type': 'application/json; charset=utf-8', 'cache-control': 'no-cache'})
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:46573/session/6da96bd5e711106170043987a6fdb485/elements {'using': 'css selector', 'value': 'a[courseid][href^="#CourseID="]'}
      2026-08-05 01:21:54 [urllib3.connectionpool] DEBUG: http://localhost:46573 "POST /session/6da96bd5e711106170043987a6fdb485/elements HTTP/1.1" 200 0
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":[{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.242"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.243"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.244"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.245"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.246"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.247"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.248"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.249"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.250"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.251"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.252"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.253"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.254"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.255"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.256"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.257"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.258"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.259"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.260"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.261"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.262"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.263"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.264"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.265"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.266"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.267"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.268"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.269"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.270"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.236"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.237"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.271"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.272"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.273"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.274"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.275"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.276"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.277"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.278"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.279"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.280"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.281"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.282"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.283"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.284"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.285"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.286"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.287"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.288"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.289"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.290"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.291"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.292"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.293"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.294"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.295"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.296"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.297"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.298"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.299"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.300"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.301"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.302"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.303"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.304"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.305"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.306"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.307"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.308"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.309"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.310"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.311"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.312"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.313"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.314"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.315"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.316"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.317"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.318"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.319"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.320"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.321"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.322"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.323"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.324"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.325"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.326"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.327"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.328"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.329"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.330"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.331"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.332"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.333"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.334"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.335"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.336"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.337"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.338"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.238"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.339"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.340"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.341"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.342"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.343"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.344"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.345"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.346"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.347"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.348"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.349"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.350"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.351"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.352"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.353"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.354"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.355"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.356"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.357"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.358"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.359"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.360"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.361"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.362"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.363"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.364"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.365"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.366"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.367"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.368"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.369"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.370"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.371"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.372"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.373"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.374"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.375"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.376"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.377"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.378"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.379"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.380"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.381"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.382"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.383"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.384"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.385"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.386"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.387"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.239"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.388"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.389"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.390"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.391"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.392"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.393"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.394"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.395"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.396"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.397"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.398"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.399"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.400"},{"element-6066-11e4-a52e-4f735466cecf":"f.371569DE2EAF6D0FBABA86F5293446BA.d.EBA2A018CDC523185D10540DC8FA7548.e.401"}]} | headers=HTTPHeaderDict({'Content-Length': '19363', 'Content-Type': 'application/json; charset=utf-8', 'cache-control': 'no-cache'})
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:46573/session/6da96bd5e711106170043987a6fdb485/execute/sync {'script': "\n                return Array.from(\n                    document.querySelectorAll('a[courseid][href^...", 'args': []}
      2026-08-05 01:21:54 [urllib3.connectionpool] DEBUG: http://localhost:46573 "POST /session/6da96bd5e711106170043987a6fdb485/execute/sync HTTP/1.1" 200 0
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":["319166","243611","286312","168511","260018","191690","321509","191532","316561","328453","321425","328454","322668","191505","166014","196359","280406","328455","168502","302318","326040","168503","321409","309086","197762","328747","294702","277878","328408","328456","321523","321525","328457","321690","191691","190816","328458","328461","280394","321422","328460","321641","328459","321413","302803","328462","328445","168501","316559","328443","322736","316596","308866","264889","328463","264800","253769","296149","328464","288858","308494","253630","190933","219014","316494","321527","166018","328446","316563","269915","328404","319170","328465","326084","308914","296090","308915","328466","292746","326044","321476","321477","326046","328467","191684","191866","322743","166009","209906","286345","254820","168499","328468","328469","220727","326048","319513","166024","321417","321501","253975","322620","328470","195838","242326","328471","166016","235057","328472","166008","253486","190843","326049","176918","321627","299865","166017","191681","328473","328474","328447","328448","196510","302827","328475","328483","321534","269900","283378","328476","190837","328477","302895","302897","328478","166028","321643","328479","248774","328480","294641","316545","190847","321612","328481","273940","215027","316465","316467","326055","176894","319354","283509","319357","308415","190840","328484","319313","209835","328485","328486","288987","328487","166010"]} | headers=HTTPHeaderDict({'Content-Length': '1487', 'Content-Type': 'application/json; charset=utf-8', 'cache-control': 'no-cache'})
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:46573/session/6da96bd5e711106170043987a6fdb485/url {'url': 'https://silvermineart.asapconnected.com/#CourseID=319166'}
      2026-08-05 01:21:54 [urllib3.connectionpool] DEBUG: http://localhost:46573 "POST /session/6da96bd5e711106170043987a6fdb485/url HTTP/1.1" 200 0
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'Content-Length': '14', 'Content-Type': 'application/json; charset=utf-8', 'cache-control': 'no-cache'})
      2026-08-05 01:21:54 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
    • Tail

                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'>List of Materials: All materials are provided for this "
                   "offering.</span></p><p><strong><em><span style='font-family: "
                   'Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 12px; '
                   "color: #000000'>*Class will not meet "
                   '11/7*</span></em></strong></p><p></p>\n'
                   '</div>\n'
                   '<table class="course-details">\n'
                   '<thead>\n'
                   '<tr>\n'
                   '<th class="dates show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Dates</a></th>\n'
                   '<th class="days show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Days</a></th>\n'
                   '<th class="times show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Times</a></th>\n'
                   '<th class="instructor" scope="col"><a href="#" onclick="return '
                   'false;">Instructor</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Ages</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Fees</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Details</a></th>\n'
                   '<th class="show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Open</a></th>\n'
                   '<th scope="col"></th>\n'
                   '</tr>\n'
                   '</thead>\n'
                   '<tbody>\n'
                   '<tr>\n'
                   '<td class="show-on-mobile">9/15</td>\n'
                   '\n'
                   '<td class="show-on-mobile">04:30 PM – 06:30 PM</td>\n'
                   '<td>Long, Charlotte</td>\n'
                   '<td class="">7 - 10</td>\n'
                   '<td class="">$365.00</td>\n'
                   '<td class="">\n'
                   '<a eventid="3065912" href="#EventID=3065912" '
                   'id="lnkViewDetails">View</a>\n'
                   '</td>\n'
                   '<td class="show-on-mobile">11</td>\n'
                   '<td class="">\n'
                   '<a class="button small check-2" data-recurring="" '
                   'defaultfeesum="$365.00" eventid="3065912" '
                   'hasflexibleschedule="false" hasrecurringfees="false" href="#" '
                   'id="lnkAddToShopCart" isdetail="false" ispickaday="false" '
                   'itemtype="event" maxdays="0" onclick="return false;" '
                   'openslots="11" registertype="register" '
                   'scheduledeventfeeassnid="0">Register Now</a>\n'
                   '</td>\n'
                   '</tr><tr>\n'
                   '<td class="show-on-mobile">9/19</td>\n'
                   '\n'
                   '<td class="show-on-mobile">02:00 PM – 04:00 PM</td>\n'
                   '<td>Long, Charlotte</td>\n'
                   '<td class="">7 - 10</td>\n'
                   '<td class="">$365.00</td>\n'
                   '<td class="">\n'
                   '<a eventid="3065966" href="#EventID=3065966" '
                   'id="lnkViewDetails">View</a>\n'
                   '</td>\n'
                   '<td class="show-on-mobile">12</td>\n'
                   '<td class="">\n'
                   '<a class="button small check-2" data-recurring="" '
                   'defaultfeesum="$365.00" eventid="3065966" '
                   'hasflexibleschedule="false" hasrecurringfees="false" href="#" '
                   'id="lnkAddToShopCart" isdetail="false" ispickaday="false" '
                   'itemtype="event" maxdays="0" onclick="return false;" '
                   'openslots="12" registertype="register" '
                   'scheduledeventfeeassnid="0">Register Now</a>\n'
                   '</td>\n'
                   '</tr>\n'
                   '</tbody>\n'
                   '</table>\n'
                   '</article>'}
      2026-08-05 01:32:00 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-05 01:32:00 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 400 68
      2026-08-05 01:32:00 [silver_mine_art] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 01:32:00 [scrapy.core.scraper] DEBUG: Scraped from <200 https://silvermineart.asapconnected.com/>
      {'event_url': 'https://silvermineart.asapconnected.com/#CourseID=166010',
       'platform': 'Silver mine Art',
       'platform_hash': 'd7bc61ce9deed4684a390e0213c452ef',
       'raw_body': '<article id="166010">\n'
                   '<h2><a class="lnkCourseDetails" courseid="166010" href="#" '
                   'onclick="return false;">Youth Oil Painting (Ages: '
                   '13-17)</a></h2>\n'
                   '<div></div>\n'
                   '<div class="thumbnail" style="display: block;">\n'
                   '<a href="#"><img alt="" class="lnkCourseDetails" '
                   'onerror="this.style.display=\'none\';" '
                   'src="files/read?file=/images/course/161402802438859_youth '
                   'oil.jpg"/></a>\n'
                   '</div>\n'
                   '<div class="description">\n'
                   '<p></p><p><span style=\'font-family: Arial, "Helvetica Neue", '
                   "Helvetica, sans-serif; font-size: 14px; color: #000000'>Students "
                   'will learn about the beautiful and unique qualities of painting '
                   'in oil. We will learn about setting up a palette, color mixing, '
                   'mediums and glazing, layering and care of materials. Working '
                   'both in the studio and plein air to create a still-life and '
                   'landscape, the areas of sighting, linear and aerial perspective '
                   'will be covered, allowing students to accurately paint what they '
                   'see.</span></p><p></p>\n'
                   '<p></p><h3 class="black">Additional Information:</h3><div '
                   'style=\'font-family: "Open Sans", sans-serif; color: rgb(51, 51, '
                   '51); font-size: 16px; background-color: rgb(255, 255, '
                   "255)'><p><span style='letter-spacing: 0.2px; font-family: Arial, "
                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'>List of Materials: All materials are provided for this "
                   "offering.</span></p><p><span style='font-family: Arial, "
                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'>Forms are required at the time of registration, click "
                   '</span><a href="files/read?file=files/School Year Youth Program '
                   'Forms.pdf" style="color: blue !important; text-decoration: '
                   'underline blue !important" target="_blank"><span '
                   'style=\'font-family: Arial, "Helvetica Neue", Helvetica, '
                   'sans-serif; font-size: 12px; color: '
                   "#000000'>here</span></a><span style='font-family: Arial, "
                   '"Helvetica Neue", Helvetica, sans-serif; font-size: 12px; color: '
                   "#000000'> to access.</span></p></div><p></p>\n"
                   '</div>\n'
                   '<table class="course-details">\n'
                   '<thead>\n'
                   '<tr>\n'
                   '<th class="dates show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Dates</a></th>\n'
                   '<th class="days show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Days</a></th>\n'
                   '<th class="times show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Times</a></th>\n'
                   '<th class="instructor" scope="col"><a href="#" onclick="return '
                   'false;">Instructor</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Ages</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Fees</a></th>\n'
                   '<th class="" scope="col"><a href="#" onclick="return '
                   'false;">Details</a></th>\n'
                   '<th class="show-on-mobile" scope="col"><a href="#" '
                   'onclick="return false;">Open</a></th>\n'
                   '<th scope="col"></th>\n'
                   '</tr>\n'
                   '</thead>\n'
                   '<tbody>\n'
                   '<tr>\n'
                   '<td class="show-on-mobile">9/24</td>\n'
                   '\n'
                   '<td class="show-on-mobile">04:30 PM – 06:30 PM</td>\n'
                   '<td><a href="#FacultyDetail=75691">Guerin, C.J.</a></td>\n'
                   '<td class="">13 - 18</td>\n'
                   '<td class="">$340.00</td>\n'
                   '<td class="">\n'
                   '<a eventid="3065974" href="#EventID=3065974" '
                   'id="lnkViewDetails">View</a>\n'
                   '</td>\n'
                   '<td class="show-on-mobile">12</td>\n'
                   '<td class="">\n'
                   '<a class="button small check-2" data-recurring="" '
                   'defaultfeesum="$340.00" eventid="3065974" '
                   'hasflexibleschedule="false" hasrecurringfees="false" href="#" '
                   'id="lnkAddToShopCart" isdetail="false" ispickaday="false" '
                   'itemtype="event" maxdays="0" onclick="return false;" '
                   'openslots="12" registertype="register" '
                   'scheduledeventfeeassnid="0">Register Now</a>\n'
                   '</td>\n'
                   '</tr>\n'
                   '</tbody>\n'
                   '</table>\n'
                   '</article>'}
      2026-08-05 01:32:00 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-05 01:32:00 [scrapy.extensions.feedexport] INFO: Stored csv feed (164 items) in: output/2026/08/05/silver_mine_art.csv
      2026-08-05 01:32:00 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 236,
       'downloader/request_count': 1,
       'downloader/request_method_count/GET': 1,
       'downloader/response_bytes': 64487,
       'downloader/response_count': 1,
       'downloader/response_status_count/200': 1,
       'elapsed_time_seconds': 630.72086,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 4, 23, 32, 0, 362479, tzinfo=datetime.timezone.utc),
       'httpcompression/response_bytes': 355880,
       'httpcompression/response_count': 1,
       'item_scraped_count': 164,
       'items_per_minute': 15.619047619047619,
       'log_count/DEBUG': 7291,
       'log_count/ERROR': 163,
       'log_count/INFO': 4,
       'memusage/max': 114835456,
       'memusage/startup': 99237888,
       'response_received_count': 1,
       'responses_per_minute': 0.09523809523809523,
       'scheduler/dequeued': 1,
       'scheduler/dequeued/memory': 1,
       'scheduler/enqueued': 1,
       'scheduler/enqueued/memory': 1,
       'start_time': datetime.datetime(2026, 8, 4, 23, 21, 29, 641619, tzinfo=datetime.timezone.utc)}
      2026-08-05 01:32:00 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/silver_mine_art/356f9639905b11f180d10050565fa5d9/?job_finished=True

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/silver_mine_art/356f9639905b11f180d10050565fa5d9.log

  • sourcelog
    last_update_time2026-08-05 01:32:00
    last_update_timestamp1785886320
    downloader/request_bytes236
    downloader/request_count1
    downloader/request_method_count/GET1
    downloader/response_bytes64487
    downloader/response_count1
    downloader/response_status_count/2001
    elapsed_time_seconds630.72086
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 8, 4, 23, 32, 0, 362479, tzinfo=datetime.timezone.utc)
    httpcompression/response_bytes355880
    httpcompression/response_count1
    item_scraped_count164
    items_per_minute15.619047619047619
    log_count/DEBUG7291
    log_count/ERROR163
    log_count/INFO4
    memusage/max114835456
    memusage/startup99237888
    response_received_count1
    responses_per_minute0.09523809523809523
    scheduler/dequeued1
    scheduler/dequeued/memory1
    scheduler/enqueued1
    scheduler/enqueued/memory1
    start_timedatetime.datetime(2026, 8, 4, 23, 21, 29, 641619, tzinfo=datetime.timezone.utc)