2026-09-29 13:28:47 [scrapy.utils.log] INFO: Scrapy 2.18.0 started (bot: grabbers) 2026-09-29 13:28:47 [scrapy.utils.log] INFO: Versions: {'lxml': '6.1.3', 'libxml2': '2.14.6', 'cssselect': '1.5.0', 'parsel': '1.11.0', 'w3lib': '2.4.1', 'Twisted': '26.4.0', 'Python': '3.14.7 (main, Sep 1 2026, 14:18:09) [Clang 22.1.3 ]', 'pyOpenSSL': '26.4.0 (OpenSSL 4.0.2 25 Aug 2026)', 'cryptography': '50.0.1', 'Platform': 'Linux-6.18.44-99.149.amzn2023.x86_64-x86_64-with-glibc2.35'} 2026-09-29 13:28:47 [scrapy.addons] INFO: Enabled addons: [] 2026-09-29 13:28:47 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.logcount.LogCount', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.logstats.LogStats', 'grabbers.extensions.custom_fields.ExportCustomFieldsExtension', 'grabbers.extensions.kol_roles.ExportKolRolesExtension'] 2026-09-29 13:28:47 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'grabbers', 'CONCURRENT_REQUESTS_PER_DOMAIN': 1, 'DOWNLOAD_DELAY': 0.3, 'FEED_EXPORT_FIELDS': ['External Id', 'Parent External Id', 'Name', 'Plain text: Parent Name', 'Start date', 'Start time', 'End date', 'End time', 'Location', 'Plain text: Event Link', 'Plain text: Event Link (Excel)', 'Filter: Course', 'Plain text: Learning Objectives', 'Plain text: Details', 'Filter: Badges', 'Filter: Category', 'Filter: Separate registration required', 'Filter: No CME for this activity', 'Filter: This session will be broadcast live. ' 'Livestreamed presentations will be recorded and added ' 'to the Platform after the meeting.', 'Filter: A video recording will be available during or ' 'after the meeting.', 'Filter: ACG Award-Winning Abstract', 'Filter: ACG Health Equity Research Abstract of ' 'Distinction Award', 'Filter: ACG Newsworthy Abstract', 'Plain text: ACG President(s)', 'Plain text: Bonus Session Speaker(s)', 'Plain text: Breakfast Session Moderator(s)', 'Plain text: Breakfast Session Presenter(s)', 'Plain text: Co-Speaker(s)', 'Plain text: Course Director(s)', 'Plain text: Faculty(s)', 'Plain text: Hands-on Faculty(s)', 'Plain text: Hands-on Faculty Leader(s)', 'Plain text: Hands-on Instructor(s)', 'Plain text: Hands-on Workshop Director(s)', 'Plain text: Introduction Presenter(s)', 'Plain text: Invited Lecturer(s)', 'Plain text: Judge(s)', 'Plain text: Lunch Session Speaker(s)', 'Plain text: Moderator / Case Presenter(s)', 'Plain text: Moderator(s)', 'Plain text: On-Demand Presenter(s)', 'Plain text: Panelist(s)', 'Plain text: Paper Session Moderator(s)', 'Plain text: Presenter(s)', 'Plain text: Presenting Author - Endoscopy Video ' 'Forum(s)', 'Plain text: Presenting Author(s)', 'Plain text: Rapid Fire Presenter(s)', 'Plain text: Speaker/Presenter(s)', 'Plain text: Speaker(s)'], 'LOG_FILE': '/etc/scrapyd/dbs/logs/grabbers/ACG/e1319bb0bc0511f1948c45b1438c9249.log', 'LOG_LEVEL': 'INFO', 'NEWSPIDER_MODULE': 'grabbers.spiders', 'RETRY_HTTP_CODES': [500, 502, 503, 504, 522, 524, 408, 429, 403], 'RETRY_TIMES': 5, 'SPIDER_MODULES': ['grabbers.spiders'], 'STATS_DUMP': 'True', 'TELNETCONSOLE_ENABLED': False, 'USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64; rv:131.0) Gecko/20100101 ' 'Firefox/131.0'} 2026-09-29 13:28:48 [scrapy_fake_useragent.middleware] INFO: Using '' as the User-Agent provider 2026-09-29 13:28:48 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'grabbers.middlewares.RandomUserAgentMiddleware', 'grabbers.middlewares.RetryUserAgentMiddleware', 'grabbers.middlewares.CurlCffiMiddleware', '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-09-29 13:28:48 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.start.StartSpiderMiddleware', 'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'grabbers.middlewares.SilentValidationMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware', 'scrapy.spidermiddlewares.metacopy.MetaCopyDetectionMiddleware'] 2026-09-29 13:28:48 [scrapy.middleware] INFO: Enabled item pipelines: ['grabbers.pipelines.CleanTextPipeline', 'grabbers.pipelines.DateTimeFormatPipeline', 'grabbers.pipelines.BoolFormatPipeline', 'grabbers.pipelines.ValidateEventNamePipeline', 'grabbers.pipelines.CountryCodePipeline', 'grabbers.pipelines.HyperlinkedEventLinkPipeline', 'grabbers.pipelines.ElasticSearchPipeline'] 2026-09-29 13:28:48 [scrapy.core.engine] INFO: Spider opened 2026-09-29 13:28:48 [elastic_transport.transport] INFO: HEAD https://elasticsearch-es-http.elasticsearch.svc:9200/scrapyd-events [status:200 duration:0.016s] 2026-09-29 13:28:48 [ACG] INFO: Delete existing congress events before saving new ones. 2026-09-29 13:28:48 [elastic_transport.transport] INFO: POST https://elasticsearch-es-http.elasticsearch.svc:9200/scrapyd-events/_delete_by_query [status:200 duration:0.010s] 2026-09-29 13:28:48 [ACG] INFO: Existing congress events have been deleted. 2026-09-29 13:28:48 [elastic_transport.transport] INFO: HEAD https://elasticsearch-es-http.elasticsearch.svc:9200/scrapyd-congress-fields [status:200 duration:0.002s] 2026-09-29 13:28:48 [ACG] INFO: Delete existing congress fields before saving new ones. 2026-09-29 13:28:48 [elastic_transport.transport] INFO: POST https://elasticsearch-es-http.elasticsearch.svc:9200/scrapyd-congress-fields/_delete_by_query [status:200 duration:0.007s] 2026-09-29 13:28:48 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-09-29 13:28:49 [scrapy_fake_useragent.middleware] INFO: Using '' as the User-Agent provider 2026-09-29 13:28:49 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <404 https://acgmeetings.gi.org/SearchByBucket.asp?f=CustomPresfield62>: HTTP status code is not handled or not allowed 2026-09-29 13:28:49 [scrapy.core.engine] INFO: Closing spider (finished) 2026-09-29 13:28:49 [ACG] INFO: Save the actual congress fields. 2026-09-29 13:28:49 [elastic_transport.transport] INFO: PUT https://elasticsearch-es-http.elasticsearch.svc:9200/scrapyd-congress-fields/_doc/acg-ae2dda9346806c09f6e43a7c99b123f822025424f31b82d2969cc54654e5162e [status:201 duration:0.005s] 2026-09-29 13:28:49 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/response_bytes': 45963, 'downloader/response_count': 1, 'downloader/response_status_count/404': 1, 'elapsed_time_seconds': 0.550400881911628, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 9, 29, 13, 28, 49, 194518, tzinfo=datetime.timezone.utc), 'httperror/response_ignored_count': 1, 'httperror/response_ignored_status_count/404': 1, 'items_per_minute': None, 'log_count/INFO': 4, 'memusage/max': 241569792, 'memusage/startup': 241569792, 'response_received_count': 1, 'responses_per_minute': None, 'scheduler/dequeued': 1, 'scheduler/dequeued/memory': 1, 'scheduler/enqueued': 1, 'scheduler/enqueued/memory': 1, 'start_time': datetime.datetime(2026, 9, 29, 13, 28, 48, 644116, tzinfo=datetime.timezone.utc)} 2026-09-29 13:28:49 [scrapy.core.engine] INFO: Spider closed (finished)