2026-04-22 13:15:03 [scrapy.utils.log] INFO: Scrapy 2.12.0 started (bot: competitor_spider) 2026-04-22 13:15:03 [scrapy.utils.log] INFO: Versions: lxml 6.1.0.0, libxml2 2.14.6, cssselect 1.4.0, parsel 1.11.0, w3lib 2.4.1, Twisted 25.5.0, Python 3.11.15 (main, Apr 7 2026, 02:24:41) [GCC 14.2.0], pyOpenSSL 26.0.0 (OpenSSL 3.5.6 7 Apr 2026), cryptography 46.0.7, Platform Linux-6.12.30+-x86_64-with-glibc2.41 2026-04-22 13:15:03 [scrapy.addons] INFO: Enabled addons: [] 2026-04-22 13:15:03 [scrapy.extensions.telnet] INFO: Telnet Password: 3c0c44752024ca69 2026-04-22 13:15:03 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.closespider.CloseSpider', 'scrapy.extensions.feedexport.FeedExporter', 'scrapy.extensions.logstats.LogStats'] 2026-04-22 13:15:03 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'competitor_spider', 'CLOSESPIDER_PAGECOUNT': 500, 'CONCURRENT_REQUESTS': 2, 'CONCURRENT_REQUESTS_PER_DOMAIN': 2, 'DEPTH_LIMIT': 3, 'DOWNLOAD_DELAY': 2, 'DOWNLOAD_TIMEOUT': 60, 'LOG_FILE': '/var/lib/scrapyd/logs/competitors/nac_aep/44bc45ea3e4d11f19ea20242ac1f0002.log', 'LOG_LEVEL': 'INFO', 'NEWSPIDER_MODULE': 'competitor_spider.spiders', 'RETRY_HTTP_CODES': [500, 502, 503, 504, 408, 429], 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['competitor_spider.spiders'], 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor', 'USER_AGENT': 'ChalknPencilsBot/1.0 (+https://chalknpencils.com)'} 2026-04-22 13:15:03 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware', 'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', '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.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2026-04-22 13:15:03 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-04-22 13:15:03 [scrapy.middleware] INFO: Enabled item pipelines: ['competitor_spider.pipelines.WebhookPipeline'] 2026-04-22 13:15:03 [scrapy.core.engine] INFO: Spider opened 2026-04-22 13:15:03 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-04-22 13:15:03 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023 2026-04-22 13:15:03 [scrapy-playwright] INFO: Starting download handler 2026-04-22 13:15:03 [scrapy-playwright] INFO: Starting download handler 2026-04-22 13:15:03 [scrapy-playwright] INFO: Launching 1 startup context(s) 2026-04-22 13:15:03 [scrapy-playwright] INFO: Launching browser chromium 2026-04-22 13:15:03 [scrapy-playwright] INFO: Launching 1 startup context(s) 2026-04-22 13:15:03 [scrapy-playwright] INFO: Launching browser chromium 2026-04-22 13:15:04 [scrapy-playwright] INFO: Browser chromium launched 2026-04-22 13:15:04 [scrapy-playwright] INFO: Browser chromium launched 2026-04-22 13:15:04 [scrapy-playwright] INFO: Startup context(s) launched 2026-04-22 13:15:04 [scrapy-playwright] INFO: Startup context(s) launched 2026-04-22 13:15:14 [competitor_spider.spiders.nac_aep] INFO: Page 1: found 12 programme detail links 2026-04-22 13:15:14 [competitor_spider.spiders.nac_aep] INFO: Total pages to crawl: 5 2026-04-22 13:15:17 [competitor_spider.spiders.nac_aep] INFO: Page 2: found 12 programme detail links 2026-04-22 13:15:17 [competitor_spider.spiders.nac_aep] INFO: [1] AEP0620903: Clay figurine design and sculpting. (4 images) 2026-04-22 13:15:23 [competitor_spider.spiders.nac_aep] INFO: Page 5: found 12 programme detail links 2026-04-22 13:15:25 [competitor_spider.spiders.nac_aep] INFO: [2] AEP0621182: Kinetic Kids: STEAM Automata Builders (4 images) 2026-04-22 13:15:25 [competitor_spider.spiders.nac_aep] INFO: Page 4: found 12 programme detail links 2026-04-22 13:15:28 [competitor_spider.spiders.nac_aep] INFO: [3] AEP0621381: Fun Acrylic (4 images) 2026-04-22 13:15:30 [competitor_spider.spiders.nac_aep] INFO: [4] AEP0621376: Intaglio Class: Softground Etching (4 images) 2026-04-22 13:15:32 [competitor_spider.spiders.nac_aep] INFO: [5] AEP0621187: Explore My Emotions Through Art! (Lower Primary) (2 images) 2026-04-22 13:15:35 [competitor_spider.spiders.nac_aep] INFO: [6] AEP0621327: Cyanotype - Printmaking with the Sun (4 images) 2026-04-22 13:15:38 [competitor_spider.spiders.nac_aep] INFO: [7] AEP0621319: Camera Obscura Making with Found Objects (0 images) 2026-04-22 13:15:41 [competitor_spider.spiders.nac_aep] INFO: [8] AEP0621354: Learn to Curate (4 images) 2026-04-22 13:15:43 [competitor_spider.spiders.nac_aep] INFO: [9] AEP0621188: Explore My Strengths and Community Through Art (2 images) 2026-04-22 13:15:46 [competitor_spider.spiders.nac_aep] INFO: [10] AEP0621038: Inclusive Stamp Making: Creative Tools for All (4 images) 2026-04-22 13:15:48 [competitor_spider.spiders.nac_aep] INFO: [11] AEP0621355: Building Memories - Building History Highlights Tour (2 images) 2026-04-22 13:15:51 [competitor_spider.spiders.nac_aep] INFO: [12] AEP0621190: Explore My Emotions Through Art! (Preschool) (2 images) 2026-04-22 13:15:53 [competitor_spider.spiders.nac_aep] INFO: [13] AEP0621357: Meet ME at the Gallery (2 images) 2026-04-22 13:15:54 [competitor_spider.spiders.nac_aep] INFO: [14] AEP0621189: Upcycling with Art! (2 images) 2026-04-22 13:15:57 [competitor_spider.spiders.nac_aep] INFO: [15] AEP0621318: Inclusive CoCreations - Latch Hook Badge Making (4 images) 2026-04-22 13:15:58 [competitor_spider.spiders.nac_aep] INFO: [16] AEP0621241: Explore Singapore's Ecology Through Art (2 images) 2026-04-22 13:16:01 [competitor_spider.spiders.nac_aep] INFO: [17] AEP0621339: Art & Music Collaboration with Boni & Cara (De Souza Music L (3 images) 2026-04-22 13:16:03 [competitor_spider.spiders.nac_aep] INFO: [18] AEP0621380: Painting with Mixed Medium (4 images) 2026-04-22 13:16:03 [scrapy.extensions.logstats] INFO: Crawled 23 pages (at 23 pages/min), scraped 18 items (at 18 items/min) 2026-04-22 13:16:05 [competitor_spider.spiders.nac_aep] INFO: [19] AEP0621383: Dragon Kiln Pottery Experience - Preschool (2 images) 2026-04-22 13:16:08 [competitor_spider.spiders.nac_aep] INFO: [20] AEP0621377: Papermaking Class: Tropical Tastes (3 images) 2026-04-22 13:16:08 [competitor_spider.pipelines] INFO: Webhook POST 20 items -> 200 2026-04-22 13:16:11 [competitor_spider.spiders.nac_aep] INFO: [21] AEP0621379: Fun with Oil painting (4 images) 2026-04-22 13:16:13 [competitor_spider.spiders.nac_aep] INFO: [22] AEP0621384: Dragon Kiln Pottery Experience (Schools) (3 images) 2026-04-22 13:16:14 [competitor_spider.spiders.nac_aep] INFO: [23] AEP0621378: Unlock your creativity via POP ART creation (4 images) 2026-04-22 13:16:16 [competitor_spider.spiders.nac_aep] INFO: [24] AEP0621373: Fort Canning Hill Sculpture Walk (0 images) 2026-04-22 13:16:19 [competitor_spider.spiders.nac_aep] INFO: [25] AEP0621374: Kallang Heritage Trail: Riding the Waves of Change (4 images) 2026-04-22 13:16:21 [competitor_spider.spiders.nac_aep] INFO: [26] AEP0621375: Of Art, Fort & Sport : A Katong - Kallang Tour (1 images) 2026-04-22 13:16:23 [competitor_spider.spiders.nac_aep] INFO: [27] AEP0621252: Creative Pattern Making Workshop: Paper Dip Dye (3 images) 2026-04-22 13:16:25 [competitor_spider.spiders.nac_aep] INFO: [28] AEP0621053: Assembly Talk - The Great Doodle Rave (4 images) 2026-04-22 13:16:28 [competitor_spider.spiders.nac_aep] INFO: [29] AEP0620971: Art Jamming Series: Printmaking (1 images) 2026-04-22 13:16:31 [competitor_spider.spiders.nac_aep] INFO: [30] AEP0621068: Trash to Stash - Upcycling Plastic Bags (4 images) 2026-04-22 13:16:33 [competitor_spider.spiders.nac_aep] INFO: [31] AEP0621180: Artist Workshop / Talk: Illustration Approaches (4 images) 2026-04-22 13:16:36 [competitor_spider.spiders.nac_aep] INFO: [32] AEP0621258: Juxtapose & Imagine: A Creative Oil / Acrylic Painting Journ (0 images) 2026-04-22 13:16:38 [competitor_spider.spiders.nac_aep] INFO: [33] AEP0621271: MINDSET & CREATIVE DEVELOPMENT THROUGH COLLAGE ART (4 images) 2026-04-22 13:16:41 [competitor_spider.spiders.nac_aep] INFO: [34] AEP0621066: Textured Expressions: Gel Plate Printing (4 images) 2026-04-22 13:16:44 [competitor_spider.spiders.nac_aep] INFO: [35] AEP0620973: Art Jamming Series: Painting (1 images) 2026-04-22 13:16:46 [competitor_spider.spiders.nac_aep] INFO: [36] AEP0621256: Oil Painting Through Art and Observation (0 images) 2026-04-22 13:16:48 [competitor_spider.spiders.nac_aep] INFO: [37] AEP0620967: Art Jamming Series: Batik Art (1 images) 2026-04-22 13:16:53 [competitor_spider.spiders.nac_aep] INFO: [38] AEP0621393: Paper Clay Sculpture Workshop Preschool Edition (4 images) 2026-04-22 13:16:54 [competitor_spider.spiders.nac_aep] INFO: Page 3: found 12 programme detail links 2026-04-22 13:16:54 [competitor_spider.spiders.nac_aep] INFO: [39] AEP0621338: Photography Exhibition Making (3 images) 2026-04-22 13:16:56 [competitor_spider.spiders.nac_aep] INFO: [40] AEP0621051: Visual Literacy through Singapore Photography (1 images) 2026-04-22 13:16:56 [competitor_spider.pipelines] INFO: Webhook POST 20 items -> 200 2026-04-22 13:16:57 [competitor_spider.spiders.nac_aep] INFO: [41] AEP0621255: The Scaly Tale (Drama & Art Workshop) (3 images) 2026-04-22 13:17:00 [competitor_spider.spiders.nac_aep] INFO: [42] AEP0621389: Colours of Singapore (1 images) 2026-04-22 13:17:03 [competitor_spider.spiders.nac_aep] INFO: [43] AEP0621388: Metal Tooling (1 images) 2026-04-22 13:17:03 [scrapy.extensions.logstats] INFO: Crawled 49 pages (at 26 pages/min), scraped 43 items (at 25 items/min) 2026-04-22 13:17:06 [competitor_spider.spiders.nac_aep] INFO: [44] AEP0621289: Epoxy Resin Wonders: Colour Fields & 3D Forms (4 images) 2026-04-22 13:17:08 [competitor_spider.spiders.nac_aep] INFO: [45] AEP0621128: #ArtMeetsMusic: Interactive Artmaking Experience (4 images) 2026-04-22 13:17:11 [competitor_spider.spiders.nac_aep] INFO: [46] AEP0420614: Discover Picture Books & Make Art with An Illustrator! (3 images) 2026-04-22 13:17:13 [competitor_spider.spiders.nac_aep] INFO: [47] AEP0621390: BUILD A HABITAT Installation Art (1 images) 2026-04-22 13:17:16 [competitor_spider.spiders.nac_aep] INFO: [48] AEP0621391: Mosaic Art (1 images) 2026-04-22 13:17:19 [competitor_spider.spiders.nac_aep] INFO: [49] AEP0621387: Texture in Sculpture (1 images) 2026-04-22 13:17:21 [competitor_spider.spiders.nac_aep] INFO: [50] AEP0621386: My Sculptures (1 images) 2026-04-22 13:17:24 [competitor_spider.spiders.nac_aep] INFO: [51] AEP0621385: Fun with Printmaking (1 images) 2026-04-22 13:17:26 [competitor_spider.spiders.nac_aep] INFO: [52] AEP0621027: Paper Clay Sculpture Workshop (3 images) 2026-04-22 13:17:29 [competitor_spider.spiders.nac_aep] INFO: [53] AEP0620907: Singa Rangoli-Indian Traditional art form (0 images) 2026-04-22 13:17:32 [competitor_spider.spiders.nac_aep] INFO: [54] AEP0620919: Hike It! @ Amazing Race (1 images) 2026-04-22 13:17:35 [competitor_spider.spiders.nac_aep] INFO: [55] AEP0621036: Soundscapes - a musical painting (4 images) 2026-04-22 13:17:37 [competitor_spider.spiders.nac_aep] INFO: [56] AEP0620914: Hike It! @ Singapore River for Pre-schools (1 images) 2026-04-22 13:17:40 [competitor_spider.spiders.nac_aep] INFO: [57] AEP0621382: Clay to "creation"basic/advance Handbuilding (0 images) 2026-04-22 13:17:42 [competitor_spider.spiders.nac_aep] INFO: [58] AEP0621063: SG Superhero - Mixed Media Workshop (4 images) 2026-04-22 13:17:44 [competitor_spider.spiders.nac_aep] INFO: [59] AEP0621193: Nature Exploration (Exploring Plants) (4 images) 2026-04-22 13:17:46 [competitor_spider.spiders.nac_aep] INFO: [60] AEP0621260: Built from Skratch - Graffiti Mural Elective (4 images) 2026-04-22 13:17:47 [competitor_spider.pipelines] INFO: Webhook POST 20 items -> 200 2026-04-22 13:17:47 [scrapy.core.engine] INFO: Closing spider (finished) 2026-04-22 13:17:47 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (60 items) in: file:///var/lib/scrapyd/items/competitors/nac_aep/44bc45ea3e4d11f19ea20242ac1f0002.jl 2026-04-22 13:17:47 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 27500, 'downloader/request_count': 66, 'downloader/request_method_count/GET': 61, 'downloader/request_method_count/POST': 5, 'downloader/response_bytes': 65865782, 'downloader/response_count': 66, 'downloader/response_status_count/200': 66, 'elapsed_time_seconds': 164.088864, 'feedexport/success_count/FileFeedStorage': 1, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 4, 22, 13, 17, 47, 683838, tzinfo=datetime.timezone.utc), 'item_scraped_count': 60, 'items_per_minute': None, 'log_count/INFO': 92, 'memusage/max': 196239360, 'memusage/startup': 78950400, 'playwright/context_count': 2, 'playwright/context_count/max_concurrent': 1, 'playwright/context_count/persistent/False': 2, 'playwright/context_count/remote/False': 2, 'playwright/page_count': 0, 'request_depth_max': 2, 'response_received_count': 66, 'responses_per_minute': None, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 65, 'scheduler/dequeued/memory': 65, 'scheduler/enqueued': 65, 'scheduler/enqueued/memory': 65, 'start_time': datetime.datetime(2026, 4, 22, 13, 15, 3, 594974, tzinfo=datetime.timezone.utc)} 2026-04-22 13:17:47 [scrapy.core.engine] INFO: Spider closed (finished) 2026-04-22 13:17:47 [scrapy-playwright] INFO: Closing download handler 2026-04-22 13:17:47 [scrapy-playwright] INFO: Closing browser 2026-04-22 13:17:47 [scrapy-playwright] INFO: Closing download handler 2026-04-22 13:17:47 [scrapy-playwright] INFO: Closing browser