2025-12-17 04:31:25 [scrapy.utils.log] INFO: Scrapy 2.11.1 started (bot: news_scraper) 2025-12-17 04:31:25 [scrapy.utils.log] INFO: Versions: lxml 6.0.2.0, libxml2 2.14.6, cssselect 1.3.0, parsel 1.10.0, w3lib 2.3.1, Twisted 25.5.0, Python 3.11.13 (main, Aug 12 2025, 22:39:41) [GCC 14.2.0], pyOpenSSL 25.3.0 (OpenSSL 3.5.3 16 Sep 2025), cryptography 46.0.1, Platform Linux-5.15.0-157-generic-x86_64-with 2025-12-17 04:31:25 [scrapy.addons] INFO: Enabled addons: [] 2025-12-17 04:31:25 [asyncio] DEBUG: Using selector: EpollSelector 2025-12-17 04:31:25 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2025-12-17 04:31:25 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2025-12-17 04:31:25 [scrapy.extensions.telnet] INFO: Telnet Password: 50165d8874990494 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-call.apigateway to before-call.api-gateway 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/endpoints.json 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/sdk-default-configuration.json 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Event choose-service-name: calling handler 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/service-2.json.gz 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json.gz 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/partitions.json 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler ._handler at 0x7f3ea4828860> 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2025-12-17 04:31:25 [botocore.endpoint] DEBUG: Setting s3 timeout as (60, 60) 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/_retry.json 2025-12-17 04:31:25 [botocore.client] DEBUG: Registering retry handlers for service: s3 2025-12-17 04:31:25 [botocore.utils] DEBUG: Registering S3 region redirector handler 2025-12-17 04:31:25 [botocore.utils] DEBUG: Registering S3Express Identity Resolver 2025-12-17 04:31:25 [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', 'scrapy.extensions.throttle.AutoThrottle'] 2025-12-17 04:31:25 [scrapy.crawler] INFO: Overridden settings: {'AUTOTHROTTLE_ENABLED': True, 'BOT_NAME': 'news_scraper', 'CLOSESPIDER_TIMEOUT': 1800, 'CONCURRENT_REQUESTS': 4, 'DOWNLOAD_DELAY': 2, 'FEED_EXPORT_ENCODING': 'utf-8', 'LOG_FILE': '/opt/scrapyd/logs/news_scraper/thanhnien_timestamp/2f808ecadb0111f099e2d6783c969646.log', 'NEWSPIDER_MODULE': 'news_scraper.spiders', 'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['news_scraper.spiders'], 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'} 2025-12-17 04:31:25 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'news_scraper.middlewares.NewsScraperDownloaderMiddleware', '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'] 2025-12-17 04:31:25 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2025-12-17 04:31:25 [scrapy.middleware] INFO: Enabled item pipelines: [] 2025-12-17 04:31:25 [scrapy.core.engine] INFO: Spider opened 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-call.apigateway to before-call.api-gateway 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search 2025-12-17 04:31:25 [botocore.hooks] DEBUG: Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section 2025-12-17 04:31:25 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/endpoints.json 2025-12-17 04:31:26 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/sdk-default-configuration.json 2025-12-17 04:31:26 [botocore.hooks] DEBUG: Event choose-service-name: calling handler 2025-12-17 04:31:26 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/service-2.json.gz 2025-12-17 04:31:26 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json.gz 2025-12-17 04:31:26 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/partitions.json 2025-12-17 04:31:26 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2025-12-17 04:31:26 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler ._handler at 0x7f3ea38bd940> 2025-12-17 04:31:26 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2025-12-17 04:31:26 [botocore.endpoint] DEBUG: Setting s3 timeout as (60, 60) 2025-12-17 04:31:26 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/_retry.json 2025-12-17 04:31:26 [botocore.client] DEBUG: Registering retry handlers for service: s3 2025-12-17 04:31:26 [botocore.utils] DEBUG: Registering S3 region redirector handler 2025-12-17 04:31:26 [botocore.utils] DEBUG: Registering S3Express Identity Resolver 2025-12-17 04:31:26 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2025-12-17 04:31:26 [thanhnien_timestamp] INFO: Spider opened: thanhnien_timestamp 2025-12-17 04:31:26 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6027 2025-12-17 04:31:26 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2025-12-17 04:31:29 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2025-12-17 04:31:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/) 2025-12-17 04:31:34 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:31:34 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'Act as a content analysis tool. I will provide you with a piece of content, and your task is to extract relevant tags (keywords or phrases) that summarize the main topics, themes, or ideas present in the text. The tags should be concise, specific, and useful for categorization or search purposes. Ignore common filler words (e.g., \'the\', \'and\', \'is\') unless they are part of a specific concept or phrase. After analyzing the content, return the tags in a simple list format. Here is the content to analyze: Khuyến khích các cặp vợ chồng và cá nhân sinh con, sinh đủ hai con ; giảm tỷ số giới tính khi sinh về mức cân bằng tự nhiên; nâng cao chất lượng dân số góp phần nâng cao chất lượng nguồn nhân lực; đẩy mạnh chăm sóc sức khỏe người cao tuổi. Đó là một trong các nội dung trọng tâm của công tác dân số trong năm 2026 và các năm tới, được ông Lê Thanh Dũng, Cục trưởng Cục Dân số, Bộ Y tế , cho biết tại lễ mít tinh kỷ niệm Ngày dân số Việt Nam (26.12), được tổ chức sáng 17.12, với chủ đề "Đầu tư cho công tác dân số là đầu tư cho phát triển bền vững". Năm 2024, mức sinh trên cả nước thấp "lịch sử" với 1,91 con/phụ nữ; chỉ 17% tỉnh đạt mức sinh thay thế (2 - 2,2 con/phụ nữ). Lãnh đạo Cục Dân số lo ngại, mức sinh giảm, tốc độ tăng dân số giảm là yếu tố quan trọng gia tăng dân số già. Việt Nam đã già hóa dân số từ 2011 và sẽ là quốc gia dân số già sau năm 2036. "Đầu tư cho dân số thời gian tới không chỉ là khẩu hiệu, chú trọng các địa bàn sinh thấp, các chính sách duy trì mức sinh thay thế, cân bằng tỷ số giới tính khi sinh, chăm sóc sức khỏe người cao tuổi", ông Dũng khẳng định và cho biết sẽ mở cuộc vận động các cặp vợ chồng sinh đủ 2 con, yêu nước là sinh đủ 2 con. Theo ông Dũng, một trong những chính sách khuyến khích các cặp vợ chồng, cá nhân sinh đủ 2 con, là cơ hội nhà ở. Với các chính sách được quy định tại luật Dân số, Bộ Y tế sẽ xây dựng các chính sách trình cấp thẩm quyền ban hành, trong đó, sinh đủ 2 con được mua nhà ở xã hội, mà không có điều kiện nào khác. Tại lễ mít tinh, Thứ trưởng Bộ Y tế Đỗ Xuân Tuyên cho rằng, công tác dân số cần làm tốt hơn công tác tuyên tuyền, đảm bảo thanh niên và các cơ sở khám chữa bệnh nắm chắc kiến thức trước hôn nhân sàng lọc trước sinh, sơ sinh, để trẻ sinh ra khỏe mạnh. Thứ trưởng Bộ Y tế bày tỏ: "Mỗi người dân Việt Nam có hành động cụ thể là làm tốt công tác sinh đẻ, đặc biệt các cặp vợ chồng tự quyết định số con với chính sách ưu đãi cụ thể, để góp phần đảm bảo mức sinh thay thế". Theo ông Dũng, mức sinh có thể tăng nhẹ sau khi có chính sách hỗ trợ, tuy nhiên, tại Việt Nam mức sinh thấp dưới mức sinh thay thế đã nhiều năm và dự báo tiếp tục giảm thấp trong thời gian tới. Tại các tỉnh, thành thuộc vùng mức sinh thấp chưa có nhiều hoạt động can thiệp tăng sinh. Các chính sách để hỗ trợ, khuyến khích người dân sinh đủ 2 con và các mô hình can thiệp để nâng mức sinh đang trong quá trình xây dựng, đề xuất và triển khai thí điểm nên chưa đủ mạnh để nâng mức sinh của các tỉnh, thành phố thuộc vùng này. Các hoạt động truyền thông, vận động theo vùng mức sinh được triển khai lồng ghép nên hiệu quả không cao, công tác đào tạo cho cán bộ dân số chưa được thực hiện thường xuyên. Không ít địa phương chậm và bị động trong ban hành chính sách hỗ trợ, khuyến khích sinh con; tại các tỉnh có mức sinh thấp, chính sách hiện hành mới chỉ hỗ trợ ở mức hạn chế, các mô hình can thiệp nâng mức sinh còn đang xây dựng, chưa đủ tác động để cải thiện mức sinh bền vững.'}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2025-12-17 04:31:34 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-12-17 04:31:34 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2025-12-17 04:31:34 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2025-12-17 04:31:34 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2025-12-17 04:31:34 [httpcore.connection] DEBUG: start_tls.complete return_value= 2025-12-17 04:31:34 [httpcore.http11] DEBUG: send_request_headers.started request= 2025-12-17 04:31:34 [httpcore.http11] DEBUG: send_request_headers.complete 2025-12-17 04:31:34 [httpcore.http11] DEBUG: send_request_body.started request= 2025-12-17 04:31:34 [httpcore.http11] DEBUG: send_request_body.complete 2025-12-17 04:31:34 [httpcore.http11] DEBUG: receive_response_headers.started request= 2025-12-17 04:31:39 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 17 Dec 2025 04:31:39 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'4390'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'4544'), (b'x-ratelimit-limit-requests', b'30000'), (b'x-ratelimit-limit-tokens', b'150000000'), (b'x-ratelimit-remaining-requests', b'29999'), (b'x-ratelimit-remaining-tokens', b'149998905'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_bf5c15e668ed4198a6bcf507f2687e12'), (b'x-openai-proxy-wasm', b'v0.1'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=jnb5EdmtnSbzs1PqehB7meeyMJf3QqNB4dNOpHyudVg-1765945899-1.0.1.1-55PmERLi4CD1cPlv7caGV8KaAwsmupi7if9cda.AdVx8Cyqk_au77pTCljDM2xJyn4hvIoTB53p9AthR3UPDCqRlghw54.kjQp9NW99HDZ8; path=/; expires=Wed, 17-Dec-25 05:01:39 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=NwbSgKVyMepafvhI5hRSl1JB0nWVJICY8W2IcDwVc5g-1765945899359-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9af3b1115e3c06e8-HKG'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-12-17 04:31:39 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-12-17 04:31:39 [httpcore.http11] DEBUG: receive_response_body.started request= 2025-12-17 04:31:39 [httpcore.http11] DEBUG: receive_response_body.complete 2025-12-17 04:31:39 [httpcore.http11] DEBUG: response_closed.started 2025-12-17 04:31:39 [httpcore.http11] DEBUG: response_closed.complete 2025-12-17 04:31:39 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Wed, 17 Dec 2025 04:31:39 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '4390'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '4544'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149998905'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_bf5c15e668ed4198a6bcf507f2687e12'), ('x-openai-proxy-wasm', 'v0.1'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=jnb5EdmtnSbzs1PqehB7meeyMJf3QqNB4dNOpHyudVg-1765945899-1.0.1.1-55PmERLi4CD1cPlv7caGV8KaAwsmupi7if9cda.AdVx8Cyqk_au77pTCljDM2xJyn4hvIoTB53p9AthR3UPDCqRlghw54.kjQp9NW99HDZ8; path=/; expires=Wed, 17-Dec-25 05:01:39 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=NwbSgKVyMepafvhI5hRSl1JB0nWVJICY8W2IcDwVc5g-1765945899359-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9af3b1115e3c06e8-HKG'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-12-17 04:31:39 [openai._base_client] DEBUG: request_id: req_bf5c15e668ed4198a6bcf507f2687e12 2025-12-17 04:31:39 [thanhnien_timestamp] INFO: Min timestamp: 2025-12-17 11:10:00, Published timestamp: 2025-12-17 11:19:00 2025-12-17 04:31:39 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2025-12-17 04:34:41 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 411 2025-12-17 04:34:41 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/sinh-du-2-con-duoc-mua-nha-o-xa-hoi-khong-co-yeu-cau-nao-khac-185251217070541427.htm> {'audio_url': 'https://lake-api.actable.ai/tts-data/bpqlzzad-2025-12-17%2004%3A31%3A56.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20251217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251217T043437Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=473d43d3ee9d317baf812b02efe5245ab707d28895cc98e46504da7a64a67a11', 'author': None, 'category': 'Thời sự', 'content': 'Khuyến khích các cặp vợ chồng và cá nhân sinh con, sinh đủ hai ' 'con ; giảm tỷ số giới tính khi sinh về mức cân bằng tự nhiên; ' 'nâng cao chất lượng dân số góp phần nâng cao chất lượng nguồn ' 'nhân lực; đẩy mạnh chăm sóc sức khỏe người cao tuổi. Đó là một ' 'trong các nội dung trọng tâm của công tác dân số trong năm 2026 ' 'và các năm tới, được ông Lê Thanh Dũng, Cục trưởng Cục Dân số, Bộ ' 'Y tế , cho biết tại lễ mít tinh kỷ niệm Ngày dân số Việt Nam ' '(26.12), được tổ chức sáng 17.12, với chủ đề "Đầu tư cho công tác ' 'dân số là đầu tư cho phát triển bền vững". Năm 2024, mức sinh ' 'trên cả nước thấp "lịch sử" với 1,91 con/phụ nữ; chỉ 17% tỉnh đạt ' 'mức sinh thay thế (2 - 2,2 con/phụ nữ). Lãnh đạo Cục Dân số lo ' 'ngại, mức sinh giảm, tốc độ tăng dân số giảm là yếu tố quan trọng ' 'gia tăng dân số già. Việt Nam đã già hóa dân số từ 2011 và sẽ là ' 'quốc gia dân số già sau năm 2036. "Đầu tư cho dân số thời gian ' 'tới không chỉ là khẩu hiệu, chú trọng các địa bàn sinh thấp, các ' 'chính sách duy trì mức sinh thay thế, cân bằng tỷ số giới tính ' 'khi sinh, chăm sóc sức khỏe người cao tuổi", ông Dũng khẳng định ' 'và cho biết sẽ mở cuộc vận động các cặp vợ chồng sinh đủ 2 con, ' 'yêu nước là sinh đủ 2 con. Theo ông Dũng, một trong những chính ' 'sách khuyến khích các cặp vợ chồng, cá nhân sinh đủ 2 con, là cơ ' 'hội nhà ở. Với các chính sách được quy định tại luật Dân số, Bộ Y ' 'tế sẽ xây dựng các chính sách trình cấp thẩm quyền ban hành, ' 'trong đó, sinh đủ 2 con được mua nhà ở xã hội, mà không có điều ' 'kiện nào khác. Tại lễ mít tinh, Thứ trưởng Bộ Y tế Đỗ Xuân Tuyên ' 'cho rằng, công tác dân số cần làm tốt hơn công tác tuyên tuyền, ' 'đảm bảo thanh niên và các cơ sở khám chữa bệnh nắm chắc kiến thức ' 'trước hôn nhân sàng lọc trước sinh, sơ sinh, để trẻ sinh ra khỏe ' 'mạnh. Thứ trưởng Bộ Y tế bày tỏ: "Mỗi người dân Việt Nam có hành ' 'động cụ thể là làm tốt công tác sinh đẻ, đặc biệt các cặp vợ ' 'chồng tự quyết định số con với chính sách ưu đãi cụ thể, để góp ' 'phần đảm bảo mức sinh thay thế". Theo ông Dũng, mức sinh có thể ' 'tăng nhẹ sau khi có chính sách hỗ trợ, tuy nhiên, tại Việt Nam ' 'mức sinh thấp dưới mức sinh thay thế đã nhiều năm và dự báo tiếp ' 'tục giảm thấp trong thời gian tới. Tại các tỉnh, thành thuộc vùng ' 'mức sinh thấp chưa có nhiều hoạt động can thiệp tăng sinh. Các ' 'chính sách để hỗ trợ, khuyến khích người dân sinh đủ 2 con và các ' 'mô hình can thiệp để nâng mức sinh đang trong quá trình xây dựng, ' 'đề xuất và triển khai thí điểm nên chưa đủ mạnh để nâng mức sinh ' 'của các tỉnh, thành phố thuộc vùng này. Các hoạt động truyền ' 'thông, vận động theo vùng mức sinh được triển khai lồng ghép nên ' 'hiệu quả không cao, công tác đào tạo cho cán bộ dân số chưa được ' 'thực hiện thường xuyên. Không ít địa phương chậm và bị động trong ' 'ban hành chính sách hỗ trợ, khuyến khích sinh con; tại các tỉnh ' 'có mức sinh thấp, chính sách hiện hành mới chỉ hỗ trợ ở mức hạn ' 'chế, các mô hình can thiệp nâng mức sinh còn đang xây dựng, chưa ' 'đủ tác động để cải thiện mức sinh bền vững.', 'description': 'Các vợ chồng sinh đủ từ 2 con được mua nhà ở xã hội mà không ' 'có yêu cầu nào khác. Công tác dân số sẽ không phải là khẩu ' 'hiệu, mà được thực hiện tới mỗi cá nhân, gia đình.', 'html_content': '
\n' '\n' '
\n' '\n' ' ' '

Sẽ mở cuộc vận động sinh đủ 2 con

Khuyến khích ' 'các cặp vợ chồng và cá nhân sinh con, sinh đủ ' 'hai con; giảm tỷ số giới tính khi sinh về mức cân bằng ' 'tự nhiên; nâng cao chất lượng dân số góp phần nâng cao chất ' 'lượng nguồn nhân lực; đẩy mạnh chăm sóc sức khỏe người cao ' 'tuổi.

Đó là một trong các nội dung trọng tâm của công ' 'tác dân số trong năm 2026 và các năm tới, được ông Lê Thanh ' 'Dũng, Cục trưởng Cục Dân số, Bộ Y tế, cho biết tại ' 'lễ mít tinh kỷ niệm Ngày dân số Việt Nam (26.12), được tổ ' 'chức sáng 17.12, với chủ đề "Đầu tư cho công tác dân số là ' 'đầu tư cho phát triển bền vững".

Sinh đủ 2 '
                 'con được mua nhà ở xã hội, không có yêu cầu nào khác - Ảnh '
                 '1.

Từ 2026 sẽ có ' 'các chính sách khuyến khích các cặp vợ chồng, cá nhân sinh ' 'đủ 2 con

ẢNH: BÁ ' 'ĐOÀN

Năm 2024, mức sinh trên cả nước ' 'thấp "lịch sử" với 1,91 con/phụ nữ; chỉ 17% tỉnh đạt mức ' 'sinh thay thế (2 - 2,2 con/phụ nữ).

Lãnh đạo Cục Dân ' 'số lo ngại, mức sinh giảm, tốc độ tăng dân số giảm là yếu tố ' 'quan trọng gia tăng dân số già. Việt Nam đã già hóa dân số ' 'từ 2011 và sẽ là quốc gia dân ' 'số già sau năm 2036.

"Đầu tư cho dân số thời gian ' 'tới không chỉ là khẩu hiệu, chú trọng các địa bàn sinh thấp, ' 'các chính sách duy trì mức sinh thay thế, cân bằng tỷ số ' 'giới tính khi sinh, chăm sóc sức khỏe người cao tuổi", ông ' 'Dũng khẳng định và cho biết sẽ mở cuộc vận động các cặp vợ ' 'chồng sinh đủ 2 con, yêu nước là sinh đủ 2 con.

Theo ' 'ông Dũng, một trong những chính sách khuyến khích các cặp vợ ' 'chồng, cá nhân sinh đủ 2 con, là cơ hội nhà ở. Với các chính ' 'sách được quy định tại luật Dân số, Bộ Y tế sẽ xây dựng các ' 'chính sách trình cấp thẩm quyền ban hành, trong đó, sinh đủ ' '2 con được mua nhà ở xã hội, mà không có điều kiện nào ' 'khác.

Tại lễ mít tinh, Thứ trưởng Bộ Y tế Đỗ Xuân ' 'Tuyên cho rằng, công tác dân số cần làm tốt hơn công tác ' 'tuyên tuyền, đảm bảo thanh niên và các cơ sở khám chữa bệnh ' 'nắm chắc kiến thức trước hôn nhân sàng lọc trước sinh, sơ ' 'sinh, để trẻ sinh ra khỏe mạnh.

Thứ trưởng Bộ Y tế bày ' 'tỏ: "Mỗi người dân Việt Nam có hành động cụ thể là làm tốt ' 'công tác sinh đẻ, đặc biệt các cặp vợ chồng tự quyết định số ' 'con với chính sách ưu đãi cụ thể, để góp phần đảm bảo mức ' 'sinh thay thế".

Dự báo mức sinh vẫn giảm trong các ' 'năm tới

Theo ông Dũng, mức sinh có thể tăng nhẹ sau ' 'khi có chính sách hỗ trợ, tuy nhiên, tại Việt Nam mức sinh ' 'thấp dưới mức sinh thay thế đã nhiều năm và dự báo tiếp tục ' 'giảm thấp trong thời gian tới.

Tại các tỉnh, thành ' 'thuộc vùng mức sinh thấp chưa có nhiều hoạt động can thiệp ' 'tăng sinh. Các chính sách để hỗ trợ, khuyến khích người dân ' 'sinh đủ 2 con và các mô hình can thiệp để nâng mức sinh đang ' 'trong quá trình xây dựng, đề xuất và triển khai thí điểm nên ' 'chưa đủ mạnh để nâng mức sinh của các tỉnh, thành phố thuộc ' 'vùng này.

Các hoạt động truyền thông, vận động theo ' 'vùng mức sinh được triển khai lồng ghép nên hiệu quả không ' 'cao, công tác đào tạo cho cán bộ dân số chưa được thực hiện ' 'thường xuyên. Không ít địa phương chậm và bị động trong ban ' 'hành chính sách hỗ trợ, khuyến khích sinh con; tại các tỉnh ' 'có mức sinh thấp, chính sách hiện hành mới chỉ hỗ trợ ở mức ' 'hạn chế, các mô hình can thiệp nâng mức sinh còn đang xây ' 'dựng, chưa đủ tác động để cải thiện mức sinh bền ' 'vững.

\n' ' \n' '\n' '\n' ' \n' ' \n' ' \n' ' \n' '\n' '
\n' '\n' '
', 'md_content': '\n' '\n' '## Sẽ mở cuộc vận động sinh đủ 2 con\n' '\n' 'Khuyến khích các [cặp vợ chồng và cá nhân sinh con, sinh đủ ' 'hai ' 'con](https://thanhnien.vn/tu-2026-gia-dinh-sinh-2-con-duoc-uu-tien-mua-nha-xa-hoi-the-nao-185251214220331409.htm ' '"cặp vợ chồng và cá nhân sinh con, sinh đủ hai con"); giảm tỷ ' 'số giới tính khi sinh về mức cân bằng tự nhiên; nâng cao chất ' 'lượng dân số góp phần nâng cao chất lượng nguồn nhân lực; đẩy ' 'mạnh chăm sóc sức khỏe người cao tuổi.\n' '\n' 'Đó là một trong các nội dung trọng tâm của công tác dân số ' 'trong năm 2026 và các năm tới, được ông Lê Thanh Dũng, Cục ' 'trưởng Cục Dân số, [Bộ Y ' 'tế](https://thanhnien.vn/bo-y-te-yeu-cau-chan-chinh-ke-don-tu-van-thuc-pham-chuc-nang-1852504201422185.htm ' '"Bộ Y tế"), cho biết tại lễ mít tinh kỷ niệm Ngày dân số Việt ' 'Nam (26.12), được tổ chức sáng 17.12, với chủ đề "Đầu tư cho ' 'công tác dân số là đầu tư cho phát triển bền vững".\n' '\n' '![Sinh đủ 2 con được mua nhà ở xã hội, không có yêu cầu nào ' 'khác - Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2025/12/17/nha-o-xa-hoi-17659436968821085151055.jpg)Từ ' '2026 sẽ có các chính sách khuyến khích các cặp vợ chồng, cá ' 'nhân sinh đủ 2 con\n' '\n' 'ẢNH: BÁ ĐOÀN\n' '\n' 'Năm 2024, mức sinh trên cả nước thấp "lịch sử" với 1,91 ' 'con/phụ nữ; chỉ 17% tỉnh đạt mức sinh thay thế (2 - 2,2 ' 'con/phụ nữ).\n' '\n' 'Lãnh đạo Cục Dân số lo ngại, mức sinh giảm, tốc độ tăng dân số ' 'giảm là yếu tố quan trọng gia tăng dân số già. Việt Nam đã già ' 'hóa dân số từ 2011 và sẽ là [quốc gia dân số ' 'già](https://thanhnien.vn/thach-thuc-lon-khi-muc-sinh-giam-gia-hoa-dan-so-nhanh-185251110211937419.htm ' '" quốc gia dân số già") sau năm 2036.\n' '\n' '"Đầu tư cho dân số thời gian tới không chỉ là khẩu hiệu, chú ' 'trọng các địa bàn sinh thấp, các chính sách duy trì mức sinh ' 'thay thế, cân bằng tỷ số giới tính khi sinh, chăm sóc sức khỏe ' 'người cao tuổi", ông Dũng khẳng định và cho biết sẽ mở cuộc ' 'vận động các cặp vợ chồng sinh đủ 2 con, yêu nước là sinh đủ 2 ' 'con.\n' '\n' 'Theo ông Dũng, một trong những chính sách khuyến khích các cặp ' 'vợ chồng, cá nhân sinh đủ 2 con, là cơ hội nhà ở. Với các ' 'chính sách được quy định tại luật Dân số, Bộ Y tế sẽ xây dựng ' 'các chính sách trình cấp thẩm quyền ban hành, trong đó, sinh ' 'đủ 2 con được mua nhà ở xã hội, mà không có điều kiện nào ' 'khác.\n' '\n' 'Tại lễ mít tinh, Thứ trưởng Bộ Y tế Đỗ Xuân Tuyên cho rằng, ' 'công tác dân số cần làm tốt hơn công tác tuyên tuyền, đảm bảo ' 'thanh niên và các cơ sở khám chữa bệnh nắm chắc kiến thức ' 'trước hôn nhân sàng lọc trước sinh, sơ sinh, để trẻ sinh ra ' 'khỏe mạnh.\n' '\n' 'Thứ trưởng Bộ Y tế bày tỏ: "Mỗi người dân Việt Nam có hành ' 'động cụ thể là làm tốt công tác sinh đẻ, đặc biệt các cặp vợ ' 'chồng tự quyết định số con với chính sách ưu đãi cụ thể, để ' 'góp phần đảm bảo mức sinh thay thế".\n' '\n' '## Dự báo mức sinh vẫn giảm trong các năm tới\n' '\n' 'Theo ông Dũng, mức sinh có thể tăng nhẹ sau khi có chính sách ' 'hỗ trợ, tuy nhiên, tại Việt Nam mức sinh thấp dưới mức sinh ' 'thay thế đã nhiều năm và dự báo tiếp tục giảm thấp trong thời ' 'gian tới.\n' '\n' 'Tại các tỉnh, thành thuộc vùng mức sinh thấp chưa có nhiều ' 'hoạt động can thiệp tăng sinh. Các chính sách để hỗ trợ, ' 'khuyến khích người dân sinh đủ 2 con và các mô hình can thiệp ' 'để nâng mức sinh đang trong quá trình xây dựng, đề xuất và ' 'triển khai thí điểm nên chưa đủ mạnh để nâng mức sinh của các ' 'tỉnh, thành phố thuộc vùng này. \n' '\n' 'Các hoạt động truyền thông, vận động theo vùng mức sinh được ' 'triển khai lồng ghép nên hiệu quả không cao, công tác đào tạo ' 'cho cán bộ dân số chưa được thực hiện thường xuyên. Không ít ' 'địa phương chậm và bị động trong ban hành chính sách hỗ trợ, ' 'khuyến khích sinh con; tại các tỉnh có mức sinh thấp, chính ' 'sách hiện hành mới chỉ hỗ trợ ở mức hạn chế, các mô hình can ' 'thiệp nâng mức sinh còn đang xây dựng, chưa đủ tác động để cải ' 'thiện mức sinh bền vững.\n' '\n' '\n' '\n' ' //Chèn ads giữa bài\n' ' (runinit = window.runinit || []).push(function () {\n' ' //Nếu k chạy ads thì return\n' " if (typeof \\_chkPrLink != 'undefined' && \\_chkPrLink)\n" ' return;\n' '\n' '\n' ' var mutexAds = \'\';\n' ' var content = $(\'[data-role="content"]\');\n' ' if (content.length > 0) {\n' ' var childNodes = content[0].childNodes;\n' ' for (i = 0; i < childNodes.length; i++) {\n' ' var childNode = childNodes[i];\n' '\n' ' var isPhotoOrVideo = false;\n' " if (childNode.nodeName.toLowerCase() == 'div') {\n" ' // kiem tra xem co la anh khong?\n' " var type = $(childNode).attr('class') + '';\n" '\n' " if (type.indexOf('VCSortableInPreviewMode') >= 0) {\n" ' isPhotoOrVideo = true;\n' ' }\n' ' }\n' '\n' ' try {\n' ' if ((i >= childNodes.length / 2 - 1) && (i < ' 'childNodes.length / 2) && !isPhotoOrVideo) {\n' ' if (i <= childNodes.length - 3) {\n' ' childNode.after(htmlToElement(mutexAds));\n' ' arfAsync.push("l2srqb41");\n' ' }\n' ' break;\n' ' }\n' ' }\n' ' catch (e) { }\n' ' }\n' ' }\n' ' });\n' ' function htmlToElement(html) {\n' " var template = document.createElement('template');\n" ' template.innerHTML = html;\n' ' return template.content.firstChild;\n' ' }\n' '\n' '\n', 'published_date': datetime.date(2025, 12, 17), 'published_timestamp': datetime.datetime(2025, 12, 17, 11, 19), 'source': 'ThanhNien', 'tags': ['Khuyến khích sinh con', 'Sinh đủ hai con', 'Giảm tỷ số giới tính khi sinh', 'Nâng cao chất lượng dân số', 'Chăm sóc sức khỏe người cao tuổi', 'Công tác dân số 2026', 'Ngày dân số Việt Nam', 'Đầu tư cho phát triển bền vững', 'Mức sinh thấp', 'Dân số già', 'Chính sách dân số', 'Nhà ở xã hội', 'Tuyên truyền dân số', 'Sàng lọc trước sinh', 'Mô hình can thiệp nâng mức sinh', 'Chính sách hỗ trợ sinh con', 'Đào tạo cán bộ dân số', 'Vận động sinh con theo vùng'], 'title': 'Sinh đủ 2 con được mua nhà ở xã hội, không có yêu cầu nào khác', 'url': 'https://thanhnien.vn/sinh-du-2-con-duoc-mua-nha-o-xa-hoi-khong-co-yeu-cau-nao-khac-185251217070541427.htm', 'voice': 'HN-Nu-2-BL'} 2025-12-17 04:34:41 [scrapy.extensions.logstats] INFO: Crawled 4 pages (at 4 pages/min), scraped 1 items (at 1 items/min) 2025-12-17 04:34:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:34:41 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'Act as a content analysis tool. I will provide you with a piece of content, and your task is to extract relevant tags (keywords or phrases) that summarize the main topics, themes, or ideas present in the text. The tags should be concise, specific, and useful for categorization or search purposes. Ignore common filler words (e.g., \'the\', \'and\', \'is\') unless they are part of a specific concept or phrase. After analyzing the content, return the tags in a simple list format. Here is the content to analyze: Sau hơn 2 thập kỷ hoạt động nghệ thuật, Đình Toàn vẫn bền bỉ với nghề, được khán giả yêu thương. Nam diễn viên cũng giữ được sự nhiệt huyết, máu lửa mỗi lần đứng trên sân khấu. Chia sẻ về hành trình này, Đình Toàn bày tỏ: “Khi đứng trên sân khấu, biểu diễn và thăng hoa, tôi cảm thấy hạnh phúc. Sau mỗi buổi diễn, chúng tôi tẩy trang, thu dọn và về nhà, rồi tiếp tục vệ sinh cá nhân, rồi nghỉ ngơi. Tôi không có thời gian và có gia đình bên cạnh, tôi hiếm khi cảm thấy cô đơn ”. Nhắc đến Đình Toàn, khán giả nhớ đến ngay sân khấu kịch IDECAF. Tên tuổi của anh gắn liền với nhiều vai diễn ấn tượng, từ những nhân vật hài hước, duyên dáng cho đến những vai đòi hỏi chiều sâu nội tâm. Hơn 20 năm gắn bó với sân khấu kịch, Đình Toàn chia sẻ rằng hành trình của anh tại đây là một chặng đường dài đầy trải nghiệm và may mắn. Diễn viên 7X nhớ lại: “Từ những vở diễn đầu tiên vào năm 1998, tôi chỉ đảm nhận những vai nhỏ, vai phụ. Nhưng giờ đây, tôi được đóng những vai chính và thậm chí còn đảm nhận một số trách nhiệm cho sân khấu”. Dẫu vậy, con đường đến với nghề diễn của Đình Toàn không phải lúc nào cũng dễ dàng. “Có những lúc tôi nghĩ sẽ không lựa chọn nghề sân khấu. Thời điểm chương trình Ngày xửa ngày xưa nổi tiếng, tôi vẫn đang học đại học và nghĩ mình sẽ không làm diễn viên. Nếu được chọn lại, tôi vẫn sẽ cân nhắc 50/50, bởi tôi chưa trải nghiệm nhiều công việc khác. Nhưng công việc diễn viên đã mang đến cho tôi vô vàn trải nghiệm quý giá”, anh đúc kết. Công việc này không chỉ mang lại cho Đình Toàn thu nhập và danh tiếng, mà còn là những trải nghiệm đầy cảm xúc mỗi đêm diễn. Đã không ít lần khi đứng trước tình cảm của khán giả, khi chứng kiến những tràng vỗ tay hay nhận những món quà, anh đã tự hỏi: “Tại sao họ phải làm điều đó cho mình?". Sau đó, nam nghệ sĩ chiêm nghiệm: "Rồi tôi nhận ra rằng, mình là người được chọn cho sứ mệnh này, cho công việc này. Chính vì vậy, dù có được chọn hay không, tôi vẫn phải làm thật tốt những gì mình đang làm”. Trước những áp lực từ kỳ vọng của khán giả, cũng như những thử thách trong cuộc sống và công việc, Đình Toàn lựa chọn cách đối diện bằng tinh thần làm việc hết mình và thái độ bình thản. Với anh, sự yêu mến của công chúng không chỉ dành cho hình ảnh trên sân khấu hay trước ống kính, mà còn bao gồm cả những khoảnh khắc đời thường. Trên hành trình dài chinh phục nghệ thuật, với Đình Toàn, khán giả là nguồn động lực không thể thiếu, còn gia đình chính là điểm tựa bền vững phía sau. Anh may mắn luôn được gia đình ủng hộ từ ngày đầu, đặc biệt là mẹ. Nam nghệ sĩ chia sẻ: “Mẹ hiểu và thông cảm cho những vất vả, hy sinh của tôi. Mẹ sẽ rất vui khi tôi có thể ăn cơm trưa cùng. Đôi khi tôi thấy chạnh lòng, nhưng rồi tôi biết lúc nào mình cần ưu tiên cái gì”.'}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2025-12-17 04:34:41 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-12-17 04:34:41 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2025-12-17 04:34:41 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2025-12-17 04:34:41 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2025-12-17 04:34:41 [httpcore.connection] DEBUG: start_tls.complete return_value= 2025-12-17 04:34:41 [httpcore.http11] DEBUG: send_request_headers.started request= 2025-12-17 04:34:41 [httpcore.http11] DEBUG: send_request_headers.complete 2025-12-17 04:34:41 [httpcore.http11] DEBUG: send_request_body.started request= 2025-12-17 04:34:41 [httpcore.http11] DEBUG: send_request_body.complete 2025-12-17 04:34:41 [httpcore.http11] DEBUG: receive_response_headers.started request= 2025-12-17 04:34:43 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 17 Dec 2025 04:34:43 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'1240'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'1589'), (b'x-ratelimit-limit-requests', b'30000'), (b'x-ratelimit-limit-tokens', b'150000000'), (b'x-ratelimit-remaining-requests', b'29999'), (b'x-ratelimit-remaining-tokens', b'149998962'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_9cf72dd9f1a6494994e295b8c8e3b65f'), (b'x-openai-proxy-wasm', b'v0.1'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=miEhcwXUDH1qBBZp_s_GlG.STt_rZRKRD8hc91t5ijU-1765946083-1.0.1.1-iwgTTCSio1wgiwXrtHNvS9MMszege3b1aV_yjZfsKv0BNSvfVtx3fd1sjvx0gpMAgGG_uTpncEpbE0rcnwMxASW6jkm67DeXvVD_qHdx7I0; path=/; expires=Wed, 17-Dec-25 05:04:43 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=ghazJg8e56Ak3lW7goMKD8zYxo7YNFVNfdJkl4hPwCM-1765946083781-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9af3b5a458b9dd4d-HKG'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-12-17 04:34:43 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-12-17 04:34:43 [httpcore.http11] DEBUG: receive_response_body.started request= 2025-12-17 04:34:43 [httpcore.http11] DEBUG: receive_response_body.complete 2025-12-17 04:34:43 [httpcore.http11] DEBUG: response_closed.started 2025-12-17 04:34:43 [httpcore.http11] DEBUG: response_closed.complete 2025-12-17 04:34:43 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Wed, 17 Dec 2025 04:34:43 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '1240'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '1589'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149998962'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_9cf72dd9f1a6494994e295b8c8e3b65f'), ('x-openai-proxy-wasm', 'v0.1'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=miEhcwXUDH1qBBZp_s_GlG.STt_rZRKRD8hc91t5ijU-1765946083-1.0.1.1-iwgTTCSio1wgiwXrtHNvS9MMszege3b1aV_yjZfsKv0BNSvfVtx3fd1sjvx0gpMAgGG_uTpncEpbE0rcnwMxASW6jkm67DeXvVD_qHdx7I0; path=/; expires=Wed, 17-Dec-25 05:04:43 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=ghazJg8e56Ak3lW7goMKD8zYxo7YNFVNfdJkl4hPwCM-1765946083781-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9af3b5a458b9dd4d-HKG'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-12-17 04:34:43 [openai._base_client] DEBUG: request_id: req_9cf72dd9f1a6494994e295b8c8e3b65f 2025-12-17 04:34:43 [thanhnien_timestamp] INFO: Min timestamp: 2025-12-17 11:10:00, Published timestamp: 2025-12-17 11:25:00 2025-12-17 04:34:43 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2025-12-17 04:37:18 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 411 2025-12-17 04:37:18 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/dinh-toan-o-tuoi-49-toi-hiem-khi-thay-co-don-185251217105039104.htm> {'audio_url': 'https://lake-api.actable.ai/tts-data/gaprptum-2025-12-17%2004%3A34%3A43.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20251217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251217T043715Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=d39eca43a27c99a3a8de63b337b86a7721a2b3ced79dfd441f30537188cfd320', 'author': None, 'category': 'Giải trí', 'content': 'Sau hơn 2 thập kỷ hoạt động nghệ thuật, Đình Toàn vẫn bền bỉ với ' 'nghề, được khán giả yêu thương. Nam diễn viên cũng giữ được sự ' 'nhiệt huyết, máu lửa mỗi lần đứng trên sân khấu. Chia sẻ về hành ' 'trình này, Đình Toàn bày tỏ: “Khi đứng trên sân khấu, biểu diễn ' 'và thăng hoa, tôi cảm thấy hạnh phúc. Sau mỗi buổi diễn, chúng ' 'tôi tẩy trang, thu dọn và về nhà, rồi tiếp tục vệ sinh cá nhân, ' 'rồi nghỉ ngơi. Tôi không có thời gian và có gia đình bên cạnh, ' 'tôi hiếm khi cảm thấy cô đơn ”. Nhắc đến Đình Toàn, khán giả nhớ ' 'đến ngay sân khấu kịch IDECAF. Tên tuổi của anh gắn liền với ' 'nhiều vai diễn ấn tượng, từ những nhân vật hài hước, duyên dáng ' 'cho đến những vai đòi hỏi chiều sâu nội tâm. Hơn 20 năm gắn bó ' 'với sân khấu kịch, Đình Toàn chia sẻ rằng hành trình của anh tại ' 'đây là một chặng đường dài đầy trải nghiệm và may mắn. Diễn viên ' '7X nhớ lại: “Từ những vở diễn đầu tiên vào năm 1998, tôi chỉ đảm ' 'nhận những vai nhỏ, vai phụ. Nhưng giờ đây, tôi được đóng những ' 'vai chính và thậm chí còn đảm nhận một số trách nhiệm cho sân ' 'khấu”. Dẫu vậy, con đường đến với nghề diễn của Đình Toàn không ' 'phải lúc nào cũng dễ dàng. “Có những lúc tôi nghĩ sẽ không lựa ' 'chọn nghề sân khấu. Thời điểm chương trình Ngày xửa ngày xưa nổi ' 'tiếng, tôi vẫn đang học đại học và nghĩ mình sẽ không làm diễn ' 'viên. Nếu được chọn lại, tôi vẫn sẽ cân nhắc 50/50, bởi tôi chưa ' 'trải nghiệm nhiều công việc khác. Nhưng công việc diễn viên đã ' 'mang đến cho tôi vô vàn trải nghiệm quý giá”, anh đúc kết. Công ' 'việc này không chỉ mang lại cho Đình Toàn thu nhập và danh tiếng, ' 'mà còn là những trải nghiệm đầy cảm xúc mỗi đêm diễn. Đã không ít ' 'lần khi đứng trước tình cảm của khán giả, khi chứng kiến những ' 'tràng vỗ tay hay nhận những món quà, anh đã tự hỏi: “Tại sao họ ' 'phải làm điều đó cho mình?". Sau đó, nam nghệ sĩ chiêm nghiệm: ' '"Rồi tôi nhận ra rằng, mình là người được chọn cho sứ mệnh này, ' 'cho công việc này. Chính vì vậy, dù có được chọn hay không, tôi ' 'vẫn phải làm thật tốt những gì mình đang làm”. Trước những áp lực ' 'từ kỳ vọng của khán giả, cũng như những thử thách trong cuộc sống ' 'và công việc, Đình Toàn lựa chọn cách đối diện bằng tinh thần làm ' 'việc hết mình và thái độ bình thản. Với anh, sự yêu mến của công ' 'chúng không chỉ dành cho hình ảnh trên sân khấu hay trước ống ' 'kính, mà còn bao gồm cả những khoảnh khắc đời thường. Trên hành ' 'trình dài chinh phục nghệ thuật, với Đình Toàn, khán giả là nguồn ' 'động lực không thể thiếu, còn gia đình chính là điểm tựa bền vững ' 'phía sau. Anh may mắn luôn được gia đình ủng hộ từ ngày đầu, đặc ' 'biệt là mẹ. Nam nghệ sĩ chia sẻ: “Mẹ hiểu và thông cảm cho những ' 'vất vả, hy sinh của tôi. Mẹ sẽ rất vui khi tôi có thể ăn cơm trưa ' 'cùng. Đôi khi tôi thấy chạnh lòng, nhưng rồi tôi biết lúc nào ' 'mình cần ưu tiên cái gì”.', 'description': 'Vẫn bền bỉ với nghề sau hơn 20 năm gắn bó, Đình Toàn trân ' "trọng tình cảm khán giả dành cho mình. Anh bày tỏ: 'Công việc " "diễn viên đã mang đến cho tôi vô vàn trải nghiệm quý giá'.", 'html_content': '
\n' '\n' '
\n' '\n' ' ' '

Sau hơn 2 thập kỷ hoạt động nghệ thuật, Đình ' 'Toàn vẫn bền bỉ với nghề, được khán giả yêu thương. Nam ' 'diễn viên cũng giữ được sự nhiệt huyết, máu lửa mỗi lần đứng ' 'trên sân khấu. Chia sẻ về hành trình này, Đình Toàn bày tỏ: ' '“Khi đứng trên sân khấu, biểu diễn và thăng hoa, tôi cảm ' 'thấy hạnh phúc. Sau mỗi buổi diễn, chúng tôi tẩy trang, thu ' 'dọn và về nhà, rồi tiếp tục vệ sinh cá nhân, rồi nghỉ ngơi. ' 'Tôi không có thời gian và có gia đình bên cạnh, tôi hiếm khi ' 'cảm thấy cô đơn”.

Những ' 'trăn trở của nghệ sĩ Đình Toàn

Đình Toàn '
                 'trải lòng  - Ảnh 1.

Nghệ sĩ Đình ' 'Toàn vẫn miệt mài với nghệ thuật. Hơn 20 năm theo đuổi nghề, ' 'với nam nghệ sĩ, đây là một hành trình dài và may ' 'mắn

ẢNH: ' 'NSX

Nhắc đến Đình Toàn, khán giả nhớ ' 'đến ngay sân khấu kịch ' 'IDECAF. Tên tuổi của anh gắn liền với nhiều vai diễn ấn ' 'tượng, từ những nhân vật hài hước, duyên dáng cho đến những ' 'vai đòi hỏi chiều sâu nội tâm. Hơn 20 năm gắn bó với sân ' 'khấu kịch, Đình Toàn chia sẻ rằng hành trình của anh tại đây ' 'là một chặng đường dài đầy trải nghiệm và may mắn. ' '

Diễn viên 7X nhớ lại: “Từ những vở diễn đầu tiên vào ' 'năm 1998, tôi chỉ đảm nhận những vai nhỏ, vai phụ. Nhưng giờ ' 'đây, tôi được đóng những vai chính và thậm chí còn đảm nhận ' 'một số trách nhiệm cho sân khấu”.

Dẫu vậy, con đường ' 'đến với nghề diễn của Đình Toàn không phải lúc nào cũng dễ ' 'dàng. “Có những lúc tôi nghĩ sẽ không lựa chọn nghề sân ' 'khấu. Thời điểm chương trình Ngày xửa ngày xưa nổi ' 'tiếng, tôi vẫn đang học đại học và nghĩ mình sẽ không làm ' 'diễn viên. Nếu được chọn lại, tôi vẫn sẽ cân nhắc 50/50, bởi ' 'tôi chưa trải nghiệm nhiều công việc khác. Nhưng công việc ' 'diễn viên đã mang đến cho tôi vô vàn trải nghiệm quý giá”, ' 'anh đúc kết.

Đình Toàn '
                 'trải lòng  - Ảnh 2.

Nghệ sĩ Đình ' 'Toàn là khách mời trong chương trình Chuyện tối cùng ' 'sao, lên sóng trên THVL1

ẢNH: NSX

Công việc này không ' 'chỉ mang lại cho Đình Toàn thu nhập và danh tiếng, mà còn là ' 'những trải nghiệm đầy cảm xúc mỗi đêm diễn. Đã không ít lần ' 'khi đứng trước tình cảm của khán giả, khi chứng kiến những ' 'tràng vỗ tay hay nhận những món quà, anh đã tự hỏi: “Tại sao ' 'họ phải làm điều đó cho mình?". Sau đó, nam nghệ sĩ chiêm ' 'nghiệm: "Rồi tôi nhận ra rằng, mình là người được chọn cho ' 'sứ mệnh này, cho công việc này. Chính vì vậy, dù có được ' 'chọn hay không, tôi vẫn phải làm thật tốt những gì mình đang ' 'làm”.

Trước những áp lực từ kỳ vọng của khán giả, cũng ' 'như những thử thách trong cuộc sống và công ' 'việc, Đình Toàn lựa chọn cách đối diện bằng tinh thần làm ' 'việc hết mình và thái độ bình thản. Với anh, sự yêu mến của ' 'công chúng không chỉ dành cho hình ảnh trên sân khấu hay ' 'trước ống kính, mà còn bao gồm cả những khoảnh khắc đời ' 'thường.

Trên hành trình dài chinh phục nghệ thuật, với ' 'Đình Toàn, khán giả là nguồn động lực không thể thiếu, còn ' 'gia đình chính là điểm tựa bền vững phía sau. Anh may mắn ' 'luôn được gia đình ủng hộ từ ngày đầu, đặc biệt là mẹ. Nam ' 'nghệ sĩ chia sẻ: “Mẹ hiểu và thông cảm cho những vất vả, hy ' 'sinh của tôi. Mẹ sẽ rất vui khi tôi có thể ăn cơm trưa cùng. ' 'Đôi khi tôi thấy chạnh lòng, nhưng rồi tôi biết lúc nào mình ' 'cần ưu tiên cái gì”.

\n' ' \n' '\n' '\n' ' \n' '
\n' ' \n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
\n' '\n' '
', 'md_content': '\n' '\n' 'Sau hơn 2 thập kỷ hoạt động nghệ thuật, [Đình ' 'Toàn](https://thanhnien.vn/cuoc-song-nghe-si-dinh-toan-o-tuoi-49-185251210005159721.htm ' '"Đình Toàn") vẫn bền bỉ với nghề, được khán giả yêu thương. ' 'Nam diễn viên cũng giữ được sự nhiệt huyết, máu lửa mỗi lần ' 'đứng trên sân khấu. Chia sẻ về hành trình này, Đình Toàn bày ' 'tỏ: “Khi đứng trên sân khấu, biểu diễn và thăng hoa, tôi cảm ' 'thấy hạnh phúc. Sau mỗi buổi diễn, chúng tôi tẩy trang, thu ' 'dọn và về nhà, rồi tiếp tục vệ sinh cá nhân, rồi nghỉ ngơi. ' 'Tôi không có thời gian và có gia đình bên cạnh, tôi hiếm khi ' 'cảm thấy [cô ' 'đơn](https://thanhnien.vn/ngoc-anh-khoc-nghen-ke-ve-giai-doan-co-don-noi-xu-nguoi-sau-ly-hon-185241117145133129.htm ' '"Ngọc Ánh khóc nghẹn kể về giai đoạn cô đơn nơi xứ người sau ' 'ly hôn")”.\n' '\n' '## Những trăn trở của nghệ sĩ Đình Toàn\n' '\n' '![Đình Toàn trải lòng - Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2025/12/17/ctcs-tap-132-6-1765942723218411350514.png)Nghệ ' 'sĩ Đình Toàn vẫn miệt mài với nghệ thuật. Hơn 20 năm theo đuổi ' 'nghề, với nam nghệ sĩ, đây là một hành trình dài và may mắn\n' '\n' 'ẢNH: NSX\n' '\n' 'Nhắc đến Đình Toàn, khán giả nhớ đến ngay [sân khấu ' 'kịch](https://thanhnien.vn/dai-nghia-bi-nga-phai-di-cap-cuu-san-khau-kich-ngung-suat-dien-185250929114152881.htm ' '"sân khấu kịch") IDECAF. Tên tuổi của anh gắn liền với nhiều ' 'vai diễn ấn tượng, từ những nhân vật hài hước, duyên dáng cho ' 'đến những vai đòi hỏi chiều sâu nội tâm. Hơn 20 năm gắn bó với ' 'sân khấu kịch, Đình Toàn chia sẻ rằng hành trình của anh tại ' 'đây là một chặng đường dài đầy trải nghiệm và may mắn. \n' '\n' 'Diễn viên 7X nhớ lại: “Từ những vở diễn đầu tiên vào năm 1998, ' 'tôi chỉ đảm nhận những vai nhỏ, vai phụ. Nhưng giờ đây, tôi ' 'được đóng những vai chính và thậm chí còn đảm nhận một số ' 'trách nhiệm cho sân khấu”.\n' '\n' 'Dẫu vậy, con đường đến với nghề diễn của Đình Toàn không phải ' 'lúc nào cũng dễ dàng. “Có những lúc tôi nghĩ sẽ không lựa chọn ' 'nghề sân khấu. Thời điểm chương trình *Ngày xửa ngày xưa* nổi ' 'tiếng, tôi vẫn đang học đại học và nghĩ mình sẽ không làm diễn ' 'viên. Nếu được chọn lại, tôi vẫn sẽ cân nhắc 50/50, bởi tôi ' 'chưa trải nghiệm nhiều công việc khác. Nhưng công việc diễn ' 'viên đã mang đến cho tôi vô vàn trải nghiệm quý giá”, anh đúc ' 'kết.\n' '\n' '![Đình Toàn trải lòng - Ảnh ' '2.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2025/12/17/ctcs-tap-132-1-1765942723245921009555.png)Nghệ ' 'sĩ Đình Toàn là khách mời trong chương trình *Chuyện tối cùng ' 'sao*, lên sóng trên THVL1\n' '\n' 'ẢNH: NSX\n' '\n' 'Công việc này không chỉ mang lại cho Đình Toàn thu nhập và ' 'danh tiếng, mà còn là những trải nghiệm đầy cảm xúc mỗi đêm ' 'diễn. Đã không ít lần khi đứng trước tình cảm của khán giả, ' 'khi chứng kiến những tràng vỗ tay hay nhận những món quà, anh ' 'đã tự hỏi: “Tại sao họ phải làm điều đó cho mình?". Sau đó, ' 'nam nghệ sĩ chiêm nghiệm: "Rồi tôi nhận ra rằng, mình là người ' 'được chọn cho sứ mệnh này, cho công việc này. Chính vì vậy, dù ' 'có được chọn hay không, tôi vẫn phải làm thật tốt những gì ' 'mình đang làm”.\n' '\n' 'Trước những áp lực từ kỳ vọng của khán giả, cũng như những thử ' 'thách trong [cuộc ' 'sống](https://thanhnien.vn/ca-si-nhu-hao-tiet-lo-cuoc-song-noi-xu-nguoi-o-tuoi-53-185251216201541103.htm ' '"cuộc sống") và công việc, Đình Toàn lựa chọn cách đối diện ' 'bằng tinh thần làm việc hết mình và thái độ bình thản. Với ' 'anh, sự yêu mến của công chúng không chỉ dành cho hình ảnh ' 'trên sân khấu hay trước ống kính, mà còn bao gồm cả những ' 'khoảnh khắc đời thường.\n' '\n' 'Trên hành trình dài chinh phục nghệ thuật, với Đình Toàn, khán ' 'giả là nguồn động lực không thể thiếu, còn gia đình chính là ' 'điểm tựa bền vững phía sau. Anh may mắn luôn được gia đình ủng ' 'hộ từ ngày đầu, đặc biệt là mẹ. Nam nghệ sĩ chia sẻ: “Mẹ hiểu ' 'và thông cảm cho những vất vả, hy sinh của tôi. Mẹ sẽ rất vui ' 'khi tôi có thể ăn cơm trưa cùng. Đôi khi tôi thấy chạnh lòng, ' 'nhưng rồi tôi biết lúc nào mình cần ưu tiên cái gì”.\n' '\n' '\n' '\n' ' //Chèn ads giữa bài\n' ' (runinit = window.runinit || []).push(function () {\n' ' //Nếu k chạy ads thì return\n' " if (typeof \\_chkPrLink != 'undefined' && \\_chkPrLink)\n" ' return;\n' '\n' '\n' ' var mutexAds = \'\';\n' ' var content = $(\'[data-role="content"]\');\n' ' if (content.length > 0) {\n' ' var childNodes = content[0].childNodes;\n' ' for (i = 0; i < childNodes.length; i++) {\n' ' var childNode = childNodes[i];\n' '\n' ' var isPhotoOrVideo = false;\n' " if (childNode.nodeName.toLowerCase() == 'div') {\n" ' // kiem tra xem co la anh khong?\n' " var type = $(childNode).attr('class') + '';\n" '\n' " if (type.indexOf('VCSortableInPreviewMode') >= 0) {\n" ' isPhotoOrVideo = true;\n' ' }\n' ' }\n' '\n' ' try {\n' ' if ((i >= childNodes.length / 2 - 1) && (i < ' 'childNodes.length / 2) && !isPhotoOrVideo) {\n' ' if (i <= childNodes.length - 3) {\n' ' childNode.after(htmlToElement(mutexAds));\n' ' arfAsync.push("l2srqb41");\n' ' }\n' ' break;\n' ' }\n' ' }\n' ' catch (e) { }\n' ' }\n' ' }\n' ' });\n' ' function htmlToElement(html) {\n' " var template = document.createElement('template');\n" ' template.innerHTML = html;\n' ' return template.content.firstChild;\n' ' }\n' '\n' '\n' '\n' ' if (window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden)) {\n' ' if (!laNuocNgoai) {\n' ' (function (w, q) {\n' ' w[q] = w[q] || [];\n' ' w[q].push(["\\_mgc.load"]);\n' ' })(window, "\\_mgq");\n' ' }\n' ' }\n' ' \n' '\n' '\n' ' (function() {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' " if (typeof window.laNuocNgoai === 'undefined' || " '!window.laNuocNgoai) return; // chỉ chạy khi laNuocNgoai true\n' '\n' " var containerSelector = 'div.detail-cmain';\n" ' var root = document.querySelector(containerSelector);\n' ' if (!root) return;\n' '\n' ' // Thu thập figure + p (p không nằm trong figure)\n' " var figures = Array.from(root.querySelectorAll('figure'));\n" ' var paragraphs = ' "Array.from(root.querySelectorAll('p')).filter(function(p){ " "return !p.closest('figure'); });\n" ' var elements = figures.concat(paragraphs); // NodeList vốn đã ' 'theo DOM order => không cần sort\n' ' if (!elements.length) return;\n' '\n' ' var target = elements[Math.floor(elements.length / 2)]; // ' 'giữa bài\n' ' if (!target || !target.parentNode) return;\n' '\n' " var newDiv = document.createElement('div');\n" " newDiv.id = 'taboola-mid-article-widget';\n" ' target.parentNode.insertBefore(newDiv, target.nextSibling);\n' '\n' ' window.\\_taboola = window.\\_taboola || [];\n' ' window.\\_taboola.push({\n' " mode: 'thumbnails-4x1',\n" " container: 'taboola-mid-article-widget',\n" " placement: 'Mid Article Widget',\n" " target\\_type: 'mix'\n" ' });\n' ' })();\n' ' \n' '\n', 'published_date': datetime.date(2025, 12, 17), 'published_timestamp': datetime.datetime(2025, 12, 17, 11, 25), 'source': 'ThanhNien', 'tags': ['Đình Toàn', 'Nghệ thuật', 'Diễn viên', 'Sân khấu kịch', 'IDECAF', 'Hành trình nghệ thuật', 'Kinh nghiệm', 'Vai diễn', 'Tình cảm khán giả', 'Gia đình', 'Áp lực công việc', 'Thái độ làm việc', 'Sự nghiệp', 'Cảm xúc', 'Hy sinh', 'Động lực', 'Tình yêu nghề', 'Trải nghiệm quý giá'], 'title': 'Đình Toàn ở tuổi 49: Tôi hiếm khi thấy cô đơn', 'url': 'https://thanhnien.vn/dinh-toan-o-tuoi-49-toi-hiem-khi-thay-co-don-185251217105039104.htm', 'voice': 'SG-Nam-1-TM'} 2025-12-17 04:37:18 [scrapy.extensions.logstats] INFO: Crawled 5 pages (at 1 pages/min), scraped 2 items (at 1 items/min) 2025-12-17 04:37:18 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:18 [thanhnien_timestamp] INFO: 2025-12-17 11:30:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:19 [thanhnien_timestamp] INFO: 2025-12-17 10:40:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:22 [thanhnien_timestamp] INFO: 2025-12-17 10:45:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:25 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:25 [httpcore.connection] DEBUG: close.started 2025-12-17 04:37:25 [httpcore.connection] DEBUG: close.complete 2025-12-17 04:37:25 [thanhnien_timestamp] INFO: 2025-12-17 10:47:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:26 [scrapy.extensions.logstats] INFO: Crawled 9 pages (at 4 pages/min), scraped 2 items (at 0 items/min) 2025-12-17 04:37:27 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:27 [thanhnien_timestamp] INFO: 2025-12-17 10:49:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:30 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:30 [thanhnien_timestamp] INFO: 2025-12-17 10:51:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:32 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:32 [thanhnien_timestamp] INFO: 2025-12-17 10:51:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:35 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:35 [thanhnien_timestamp] INFO: 2025-12-17 10:53:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:37 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:38 [thanhnien_timestamp] INFO: 2025-12-17 11:00:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:40 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:40 [thanhnien_timestamp] INFO: 2025-12-17 11:00:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:43 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:43 [thanhnien_timestamp] INFO: 2025-12-17 11:04:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:45 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:45 [thanhnien_timestamp] INFO: 2025-12-17 11:05:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:47 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:48 [thanhnien_timestamp] INFO: 2025-12-17 11:05:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:50 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:50 [thanhnien_timestamp] INFO: 2025-12-17 11:07:00 not in 2025-12-17 11:10:00 to 2025-12-17 11:25:00 2025-12-17 04:37:53 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:37:53 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': "Act as a content analysis tool. I will provide you with a piece of content, and your task is to extract relevant tags (keywords or phrases) that summarize the main topics, themes, or ideas present in the text. The tags should be concise, specific, and useful for categorization or search purposes. Ignore common filler words (e.g., 'the', 'and', 'is') unless they are part of a specific concept or phrase. After analyzing the content, return the tags in a simple list format. Here is the content to analyze: Trung tâm Dự báo khí tượng thủy văn vừa có bản tin dự báo khí hậu trên phạm vi toàn quốc từ tháng 1 - 6.2026. Theo đó, hiện nay, điều kiện khí quyển đại dương (hiện tượng ENSO) đang trong trạng thái La Nina với chuẩn sai nhiệt độ mặt nước biển khu vực trung tâm Thái Bình Dương trong tuần đầu tháng 12.2025 ở mức âm 0,5 độ C. Trong khoảng 3 tháng tới, hiện tượng ENSO có khả năng chuyển dần sang trạng thái trung tính với xác suất từ 60 - 65%, trong khi xác suất trong trạng thái La Nina giảm hơn các dự báo trước và chỉ còn ở mức từ 35 - 40%. Từ tháng 1 - 3.2026, nhiệt độ trung bình trên phạm vi toàn quốc phổ biến xấp xỉ so với trung bình nhiều năm, riêng khu vực miền Bắc tháng 1.2026 phổ biến cao hơn 0,5 - 1 độ C so với trung bình nhiều năm cùng thời kỳ. Về tổng lượng mưa, trên cả nước phổ biến ở mức xấp xỉ so với trung bình nhiều năm; riêng khu vực cao nguyên Trung bộ và Nam bộ phổ biến cao hơn so với trung bình nhiều năm cùng thời kỳ. Trong thời kỳ này, trên Biển Đông ít có khả năng xuất hiện bão, áp thấp nhiệt đới; không khí lạnh có khả năng hoạt động yếu hơn trung bình nhiều năm, tuy nhiên vẫn gây ra các đợt rét đậm, rét hại. Từ khoảng nửa cuối tháng 2 và tháng 3.2026, hiện tượng mưa nhỏ, mưa phùn có khả năng xuất hiện nhiều tại các tỉnh, thành phố tại miền Bắc (tương đương so với trung bình nhiều năm). Trong khi đó, các đợt mưa rào và giông còn xuất hiện tại khu vực phía đông các tỉnh từ Quảng Ngãi - Đắk Lắk và Khánh Hòa trong nửa cuối tháng 12.2025 và tháng 1.2026. Đáng chú ý, trong thời kỳ các tháng mùa khô đầu năm 2026, tại khu vực cao nguyên Trung bộ và Nam bộ có khả năng xuất hiện nhiều ngày, nhiều đợt mưa trái mùa hơn mọi năm. Ở Nam bộ có khả năng xuất hiện nắng nóng từ khoảng cuối tháng 2 đầu tháng 3.2026 ở miền Đông Nam bộ; sau đó có xu hướng gia tăng cường độ và mở rộng dần sang khu vực miền Tây Nam bộ (tương đương trung bình nhiều năm). Ở khu vực phía Tây Bắc bộ có thể xuất hiện nắng nóng cục bộ từ tháng 3.2026. Cơ quan khí tượng cho biết, thời kỳ từ tháng 4 - 6.2026, ENSO có khả năng duy trì trạng thái trung tính với xác suất 65 - 75%, xác suất chuyển sang trạng thái El Nino vào khoảng từ 10 - 25% và xác suất chuyển sang trạng thái La Nina khoảng dưới 15%. Trong thời gian này, cao nguyên Trung bộ và Nam bộ tiếp tục có lượng mưa cao hơn so với trung bình nhiều năm; Bắc bộ tháng 6.2025 cao hơn 5 - 15% so với trung bình nhiều năm. Từ tháng 4 - 6.2026, bão, áp thấp nhiệt đới trên Biển Đông tương đương trung bình nhiều năm, tuy nhiên khả năng đổ bộ vào đất liền nước ta không cao. Không khí lạnh tiếp tục còn có khả năng hoạt động tuy nhiên có xu hướng suy giảm dần về cường độ và tần suất. Tây Bắc bộ và khu vực từ Thanh Hóa - Huế có khả năng xuất hiện nắng nóng từ khoảng tháng 4.2026, sau đó mở rộng dần toàn Bắc bộ và Trung bộ từ cuối tháng 4.2026. Nam bộ có nắng nóng diện rộng trong tháng 4.2026 sau đó giảm dần về cường độ. Các đợt mưa vừa, mưa to có khả năng xuất hiện ở Bắc bộ, cao nguyên Trung bộ và Nam bộ từ khoảng tháng 5.2026."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2025-12-17 04:37:53 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-12-17 04:37:53 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2025-12-17 04:37:53 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2025-12-17 04:37:53 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2025-12-17 04:37:53 [httpcore.connection] DEBUG: start_tls.complete return_value= 2025-12-17 04:37:53 [httpcore.http11] DEBUG: send_request_headers.started request= 2025-12-17 04:37:53 [httpcore.http11] DEBUG: send_request_headers.complete 2025-12-17 04:37:53 [httpcore.http11] DEBUG: send_request_body.started request= 2025-12-17 04:37:53 [httpcore.http11] DEBUG: send_request_body.complete 2025-12-17 04:37:53 [httpcore.http11] DEBUG: receive_response_headers.started request= 2025-12-17 04:37:56 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 17 Dec 2025 04:37:56 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'2399'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'2414'), (b'x-ratelimit-limit-requests', b'30000'), (b'x-ratelimit-limit-tokens', b'150000000'), (b'x-ratelimit-remaining-requests', b'29999'), (b'x-ratelimit-remaining-tokens', b'149998902'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_8f7c78f76da44842805378dc6b931167'), (b'x-openai-proxy-wasm', b'v0.1'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=LXGaotp0HTE8.iZJMIQ7RZdHJanXQb2smx8wtc.k8w8-1765946276-1.0.1.1-1z.Fx97Jy7xY70XsWCj5e91WT4v8QrLg9VMpgiIRHt6N7c_vAJGJvkqsEjjQ0U29jTjGNsbm7du4gtunhEAmZ05TdmyLKKnN1smS1fegKx0; path=/; expires=Wed, 17-Dec-25 05:07:56 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=FJgswgaE2vUWMjA7vSu2FwFQDkWebdg5Gh4_a2EjR0k-1765946276124-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9af3ba516e0984d6-HKG'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-12-17 04:37:56 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-12-17 04:37:56 [httpcore.http11] DEBUG: receive_response_body.started request= 2025-12-17 04:37:56 [httpcore.http11] DEBUG: receive_response_body.complete 2025-12-17 04:37:56 [httpcore.http11] DEBUG: response_closed.started 2025-12-17 04:37:56 [httpcore.http11] DEBUG: response_closed.complete 2025-12-17 04:37:56 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Wed, 17 Dec 2025 04:37:56 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '2399'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '2414'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149998902'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_8f7c78f76da44842805378dc6b931167'), ('x-openai-proxy-wasm', 'v0.1'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=LXGaotp0HTE8.iZJMIQ7RZdHJanXQb2smx8wtc.k8w8-1765946276-1.0.1.1-1z.Fx97Jy7xY70XsWCj5e91WT4v8QrLg9VMpgiIRHt6N7c_vAJGJvkqsEjjQ0U29jTjGNsbm7du4gtunhEAmZ05TdmyLKKnN1smS1fegKx0; path=/; expires=Wed, 17-Dec-25 05:07:56 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=FJgswgaE2vUWMjA7vSu2FwFQDkWebdg5Gh4_a2EjR0k-1765946276124-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9af3ba516e0984d6-HKG'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-12-17 04:37:56 [openai._base_client] DEBUG: request_id: req_8f7c78f76da44842805378dc6b931167 2025-12-17 04:37:56 [thanhnien_timestamp] INFO: Min timestamp: 2025-12-17 11:10:00, Published timestamp: 2025-12-17 11:10:00 2025-12-17 04:37:56 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2025-12-17 04:40:14 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 412 2025-12-17 04:40:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/la-nina-kha-nang-ket-thuc-som-mien-trung-mien-nam-hung-nhieu-dot-mua-trai-mua-185251217104322856.htm> {'audio_url': 'https://lake-api.actable.ai/tts-data/mrlqppbv-2025-12-17%2004%3A37%3A56.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20251217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251217T044011Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=e35f15472c8e2657381f8c3ddf6b4d8cb496971175c91dd3be56d4cb85a2e022', 'author': None, 'category': 'Thời sự', 'content': 'Trung tâm Dự báo khí tượng thủy văn vừa có bản tin dự báo khí hậu ' 'trên phạm vi toàn quốc từ tháng 1 - 6.2026. Theo đó, hiện nay, ' 'điều kiện khí quyển đại dương (hiện tượng ENSO) đang trong trạng ' 'thái La Nina với chuẩn sai nhiệt độ mặt nước biển khu vực trung ' 'tâm Thái Bình Dương trong tuần đầu tháng 12.2025 ở mức âm 0,5 độ ' 'C. Trong khoảng 3 tháng tới, hiện tượng ENSO có khả năng chuyển ' 'dần sang trạng thái trung tính với xác suất từ 60 - 65%, trong ' 'khi xác suất trong trạng thái La Nina giảm hơn các dự báo trước ' 'và chỉ còn ở mức từ 35 - 40%. Từ tháng 1 - 3.2026, nhiệt độ trung ' 'bình trên phạm vi toàn quốc phổ biến xấp xỉ so với trung bình ' 'nhiều năm, riêng khu vực miền Bắc tháng 1.2026 phổ biến cao hơn ' '0,5 - 1 độ C so với trung bình nhiều năm cùng thời kỳ. Về tổng ' 'lượng mưa, trên cả nước phổ biến ở mức xấp xỉ so với trung bình ' 'nhiều năm; riêng khu vực cao nguyên Trung bộ và Nam bộ phổ biến ' 'cao hơn so với trung bình nhiều năm cùng thời kỳ. Trong thời kỳ ' 'này, trên Biển Đông ít có khả năng xuất hiện bão, áp thấp nhiệt ' 'đới; không khí lạnh có khả năng hoạt động yếu hơn trung bình ' 'nhiều năm, tuy nhiên vẫn gây ra các đợt rét đậm, rét hại. Từ ' 'khoảng nửa cuối tháng 2 và tháng 3.2026, hiện tượng mưa nhỏ, mưa ' 'phùn có khả năng xuất hiện nhiều tại các tỉnh, thành phố tại ' 'miền Bắc (tương đương so với trung bình nhiều năm). Trong khi ' 'đó, các đợt mưa rào và giông còn xuất hiện tại khu vực phía đông ' 'các tỉnh từ Quảng Ngãi - Đắk Lắk và Khánh Hòa trong nửa cuối ' 'tháng 12.2025 và tháng 1.2026. Đáng chú ý, trong thời kỳ các ' 'tháng mùa khô đầu năm 2026, tại khu vực cao nguyên Trung bộ và ' 'Nam bộ có khả năng xuất hiện nhiều ngày, nhiều đợt mưa trái mùa ' 'hơn mọi năm. Ở Nam bộ có khả năng xuất hiện nắng nóng từ khoảng ' 'cuối tháng 2 đầu tháng 3.2026 ở miền Đông Nam bộ; sau đó có xu ' 'hướng gia tăng cường độ và mở rộng dần sang khu vực miền Tây Nam ' 'bộ (tương đương trung bình nhiều năm). Ở khu vực phía Tây Bắc ' 'bộ có thể xuất hiện nắng nóng cục bộ từ tháng 3.2026. Cơ quan ' 'khí tượng cho biết, thời kỳ từ tháng 4 - 6.2026, ENSO có khả năng ' 'duy trì trạng thái trung tính với xác suất 65 - 75%, xác suất ' 'chuyển sang trạng thái El Nino vào khoảng từ 10 - 25% và xác suất ' 'chuyển sang trạng thái La Nina khoảng dưới 15%. Trong thời gian ' 'này, cao nguyên Trung bộ và Nam bộ tiếp tục có lượng mưa cao hơn ' 'so với trung bình nhiều năm; Bắc bộ tháng 6.2025 cao hơn 5 - 15% ' 'so với trung bình nhiều năm. Từ tháng 4 - 6.2026, bão, áp thấp ' 'nhiệt đới trên Biển Đông tương đương trung bình nhiều năm, tuy ' 'nhiên khả năng đổ bộ vào đất liền nước ta không cao. Không khí ' 'lạnh tiếp tục còn có khả năng hoạt động tuy nhiên có xu hướng suy ' 'giảm dần về cường độ và tần suất. Tây Bắc bộ và khu vực từ Thanh ' 'Hóa - Huế có khả năng xuất hiện nắng nóng từ khoảng tháng ' '4.2026, sau đó mở rộng dần toàn Bắc bộ và Trung bộ từ cuối tháng ' '4.2026. Nam bộ có nắng nóng diện rộng trong tháng 4.2026 sau đó ' 'giảm dần về cường độ. Các đợt mưa vừa, mưa to có khả năng xuất ' 'hiện ở Bắc bộ, cao nguyên Trung bộ và Nam bộ từ khoảng tháng ' '5.2026.', 'description': 'Theo dự báo, trong các tháng đầu năm 2026, miền Trung và miền ' 'Nam sẽ đón nhiều đợt mưa trái mùa hơn mọi năm.', 'html_content': '
\n' '\n' '
\n' '\n' ' ' '

Trung tâm Dự báo khí tượng thủy văn vừa có bản tin dự báo ' 'khí hậu trên phạm vi toàn quốc từ tháng 1 - 6.2026.\xa0' '

Theo đó, hiện nay, điều kiện khí quyển đại dương ' '(hiện tượng ENSO) đang trong trạng thái La Nina với chuẩn sai nhiệt độ mặt nước ' 'biển khu vực trung tâm Thái Bình Dương trong tuần đầu tháng ' '12.2025 ở mức âm 0,5 độ C.

La Nina khả '
                 'năng kết thúc sớm, miền Trung, miền Nam hứng nhiều đợt mưa '
                 'trái mùa - Ảnh 1.

La Nina khả năng kết ' 'thúc sớm, miền Trung, miền Nam hứng nhiều đợt mưa trái ' 'mùa

ẢNH: CHÍ ' 'NHÂN

Trong khoảng 3 tháng tới, hiện ' 'tượng ENSO có khả năng chuyển dần sang trạng thái trung ' 'tính với xác suất từ 60 - 65%, trong khi xác suất trong ' 'trạng thái La Nina giảm hơn các dự báo trước và chỉ còn ở ' 'mức từ 35 - 40%.

Từ tháng 1 - 3.2026, nhiệt độ trung ' 'bình trên phạm vi toàn quốc phổ biến xấp xỉ so với trung ' 'bình nhiều năm, riêng khu vực miền Bắc tháng 1.2026 phổ biến ' 'cao hơn 0,5 - 1 độ C so với trung bình nhiều năm cùng thời ' 'kỳ.

Về tổng lượng mưa, trên cả nước phổ biến ở mức xấp ' 'xỉ so với trung bình nhiều năm; riêng khu vực cao nguyên ' 'Trung bộ và Nam bộ phổ biến cao hơn so với trung bình nhiều ' 'năm cùng thời kỳ.\xa0

5 tỉnh miền Trung ' 'mưa lớn, Biển Đông sóng cao 5 mét ' '

Trong thời kỳ này, trên Biển Đông ít có ' 'khả năng xuất hiện bão, áp thấp nhiệt đới; không khí lạnh có ' 'khả năng hoạt động yếu hơn trung bình nhiều năm, tuy nhiên ' 'vẫn gây ra các đợt rét đậm, rét hại.

Từ khoảng nửa ' 'cuối tháng 2 và tháng 3.2026, hiện tượng mưa nhỏ, mưa phùn ' 'có khả năng xuất hiện nhiều tại các tỉnh, thành phố tại miền ' 'Bắc (tương đương so với trung bình nhiều năm). Trong khi ' 'đó, các đợt mưa rào và giông còn xuất hiện tại khu vực phía ' 'đông các tỉnh từ Quảng Ngãi - Đắk Lắk và Khánh Hòa trong ' 'nửa cuối tháng 12.2025 và tháng 1.2026.

Mưa trái mùa ' 'gia tăng

Đáng chú ý, trong thời kỳ các tháng mùa khô ' 'đầu năm 2026, tại khu vực cao nguyên Trung bộ và Nam bộ có ' 'khả năng xuất hiện nhiều ngày, nhiều đợt mưa trái mùa hơn ' 'mọi năm.

Ở Nam bộ có khả năng xuất hiện nắng nóng từ ' 'khoảng cuối tháng 2 đầu tháng 3.2026 ở miền Đông Nam bộ; sau ' 'đó có xu hướng gia tăng cường độ và mở rộng dần sang khu vực ' 'miền Tây Nam bộ (tương đương trung bình nhiều năm). Ở khu ' 'vực phía Tây Bắc bộ có thể xuất hiện nắng nóng cục bộ từ ' 'tháng 3.2026.

Cơ quan khí tượng cho biết, thời kỳ từ ' 'tháng 4 - 6.2026, ENSO có khả năng duy trì trạng thái trung ' 'tính với xác suất 65 - 75%, xác suất chuyển sang trạng thái ' 'El Nino vào khoảng từ 10 - 25% và xác suất chuyển sang trạng ' 'thái La Nina khoảng dưới 15%.

Trong thời gian này, cao ' 'nguyên Trung bộ và Nam bộ tiếp tục có lượng mưa cao hơn so ' 'với trung bình nhiều năm; Bắc bộ tháng 6.2025 cao hơn 5 - ' '15% so với trung bình nhiều năm.

Từ tháng 4 - 6.2026, ' 'bão, áp thấp nhiệt đới trên Biển Đông tương đương trung bình ' 'nhiều năm, tuy nhiên khả năng đổ bộ vào đất liền nước ta ' 'không cao. Không khí lạnh tiếp tục còn có khả năng hoạt động ' 'tuy nhiên có xu hướng suy giảm dần về cường độ và tần ' 'suất.

Tây Bắc bộ và khu vực từ Thanh Hóa - Huế có khả ' 'năng xuất hiện nắng nóng từ khoảng tháng 4.2026, sau đó mở ' 'rộng dần toàn Bắc bộ và Trung bộ từ cuối tháng 4.2026. Nam ' 'bộ có nắng nóng diện rộng trong tháng 4.2026 sau đó giảm ' 'dần về cường độ.

Các đợt mưa vừa, mưa to có khả năng ' 'xuất hiện ở Bắc bộ, cao nguyên Trung bộ và Nam bộ từ khoảng ' 'tháng 5.2026.

\n' ' \n' '\n' '\n' ' \n' '
\n' ' \n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
\n' '\n' '
', 'md_content': '\n' '\n' 'Trung tâm Dự báo khí tượng thủy văn vừa có bản tin dự báo khí ' 'hậu trên phạm vi toàn quốc từ tháng 1 - 6.2026.\xa0\n' '\n' 'Theo đó, hiện nay, điều kiện khí quyển đại dương (hiện tượng ' 'ENSO) đang trong trạng thái [La ' 'Nina](https://thanhnien.vn/la-nina.html "La Nina") với chuẩn ' 'sai nhiệt độ mặt nước biển khu vực trung tâm Thái Bình Dương ' 'trong tuần đầu tháng 12.2025 ở mức âm 0,5 độ C.\n' '\n' '![La Nina khả năng kết thúc sớm, miền Trung, miền Nam hứng ' 'nhiều đợt mưa trái mùa - Ảnh ' '1.](https://images2.thanhnien.vn/528068263637045248/2025/12/17/edit-1eb70603ea3e54600d2f-1739952423701113739186-1741431625377913906906-17659427340821841164222.jpg)La ' 'Nina khả năng kết thúc sớm, miền Trung, miền Nam hứng nhiều ' 'đợt mưa trái mùa\n' '\n' 'ẢNH: CHÍ NHÂN\n' '\n' 'Trong khoảng 3 tháng tới, hiện tượng ENSO có khả năng chuyển ' 'dần sang trạng thái trung tính với xác suất từ 60 - 65%, ' 'trong khi xác suất trong trạng thái La Nina giảm hơn các dự ' 'báo trước và chỉ còn ở mức từ 35 - 40%.\n' '\n' 'Từ tháng 1 - 3.2026, nhiệt độ trung bình trên phạm vi toàn ' 'quốc phổ biến xấp xỉ so với trung bình nhiều năm, riêng khu ' 'vực miền Bắc tháng 1.2026 phổ biến cao hơn 0,5 - 1 độ C so với ' 'trung bình nhiều năm cùng thời kỳ.\n' '\n' 'Về tổng lượng mưa, trên cả nước phổ biến ở mức xấp xỉ so với ' 'trung bình nhiều năm; riêng khu vực cao nguyên Trung bộ và Nam ' 'bộ phổ biến cao hơn so với trung bình nhiều năm cùng thời ' 'kỳ.\xa0\n' '\n' '5 tỉnh miền Trung mưa lớn, Biển Đông sóng cao 5 ' 'mét \n' '\n' 'Trong thời kỳ này, trên Biển Đông ít có khả năng xuất hiện ' 'bão, áp thấp nhiệt đới; không khí lạnh có khả năng hoạt động ' 'yếu hơn trung bình nhiều năm, tuy nhiên vẫn gây ra các đợt rét ' 'đậm, rét hại.\n' '\n' 'Từ khoảng nửa cuối tháng 2 và tháng 3.2026, hiện tượng mưa ' 'nhỏ, mưa phùn có khả năng xuất hiện nhiều tại các tỉnh, thành ' 'phố tại miền Bắc (tương đương so với trung bình nhiều năm). ' 'Trong khi đó, các đợt mưa rào và giông còn xuất hiện tại khu ' 'vực phía đông các tỉnh từ Quảng Ngãi - Đắk Lắk và Khánh Hòa ' 'trong nửa cuối tháng 12.2025 và tháng 1.2026.\n' '\n' '## Mưa trái mùa gia tăng\n' '\n' 'Đáng chú ý, trong thời kỳ các tháng mùa khô đầu năm 2026, tại ' 'khu vực cao nguyên Trung bộ và Nam bộ có khả năng xuất hiện ' 'nhiều ngày, nhiều đợt mưa trái mùa hơn mọi năm.\n' '\n' 'Ở Nam bộ có khả năng xuất hiện nắng nóng từ khoảng cuối tháng ' '2 đầu tháng 3.2026 ở miền Đông Nam bộ; sau đó có xu hướng gia ' 'tăng cường độ và mở rộng dần sang khu vực miền Tây Nam bộ ' '(tương đương trung bình nhiều năm). Ở khu vực phía Tây Bắc ' 'bộ có thể xuất hiện nắng nóng cục bộ từ tháng 3.2026.\n' '\n' 'Cơ quan khí tượng cho biết, thời kỳ từ tháng 4 - 6.2026, ENSO ' 'có khả năng duy trì trạng thái trung tính với xác suất 65 - ' '75%, xác suất chuyển sang trạng thái El Nino vào khoảng từ 10 ' '- 25% và xác suất chuyển sang trạng thái La Nina khoảng dưới ' '15%.\n' '\n' 'Trong thời gian này, cao nguyên Trung bộ và Nam bộ tiếp tục có ' 'lượng mưa cao hơn so với trung bình nhiều năm; Bắc bộ tháng ' '6.2025 cao hơn 5 - 15% so với trung bình nhiều năm.\n' '\n' 'Từ tháng 4 - 6.2026, bão, áp thấp nhiệt đới trên Biển Đông ' 'tương đương trung bình nhiều năm, tuy nhiên khả năng đổ bộ vào ' 'đất liền nước ta không cao. Không khí lạnh tiếp tục còn có khả ' 'năng hoạt động tuy nhiên có xu hướng suy giảm dần về cường độ ' 'và tần suất.\n' '\n' 'Tây Bắc bộ và khu vực từ Thanh Hóa - Huế có khả năng xuất ' 'hiện nắng nóng từ khoảng tháng 4.2026, sau đó mở rộng dần ' 'toàn Bắc bộ và Trung bộ từ cuối tháng 4.2026. Nam bộ có nắng ' 'nóng diện rộng trong tháng 4.2026 sau đó giảm dần về cường ' 'độ.\n' '\n' 'Các đợt mưa vừa, mưa to có khả năng xuất hiện ở Bắc bộ, cao ' 'nguyên Trung bộ và Nam bộ từ khoảng tháng 5.2026.\n' '\n' '\n' '\n' ' //Chèn ads giữa bài\n' ' (runinit = window.runinit || []).push(function () {\n' ' //Nếu k chạy ads thì return\n' " if (typeof \\_chkPrLink != 'undefined' && \\_chkPrLink)\n" ' return;\n' '\n' '\n' ' var mutexAds = \'\';\n' ' var content = $(\'[data-role="content"]\');\n' ' if (content.length > 0) {\n' ' var childNodes = content[0].childNodes;\n' ' for (i = 0; i < childNodes.length; i++) {\n' ' var childNode = childNodes[i];\n' '\n' ' var isPhotoOrVideo = false;\n' " if (childNode.nodeName.toLowerCase() == 'div') {\n" ' // kiem tra xem co la anh khong?\n' " var type = $(childNode).attr('class') + '';\n" '\n' " if (type.indexOf('VCSortableInPreviewMode') >= 0) {\n" ' isPhotoOrVideo = true;\n' ' }\n' ' }\n' '\n' ' try {\n' ' if ((i >= childNodes.length / 2 - 1) && (i < ' 'childNodes.length / 2) && !isPhotoOrVideo) {\n' ' if (i <= childNodes.length - 3) {\n' ' childNode.after(htmlToElement(mutexAds));\n' ' arfAsync.push("l2srqb41");\n' ' }\n' ' break;\n' ' }\n' ' }\n' ' catch (e) { }\n' ' }\n' ' }\n' ' });\n' ' function htmlToElement(html) {\n' " var template = document.createElement('template');\n" ' template.innerHTML = html;\n' ' return template.content.firstChild;\n' ' }\n' '\n' '\n' '\n' ' if (window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden)) {\n' ' if (!laNuocNgoai) {\n' ' (function (w, q) {\n' ' w[q] = w[q] || [];\n' ' w[q].push(["\\_mgc.load"]);\n' ' })(window, "\\_mgq");\n' ' }\n' ' }\n' ' \n' '\n' '\n' ' (function() {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' " if (typeof window.laNuocNgoai === 'undefined' || " '!window.laNuocNgoai) return; // chỉ chạy khi laNuocNgoai true\n' '\n' " var containerSelector = 'div.detail-cmain';\n" ' var root = document.querySelector(containerSelector);\n' ' if (!root) return;\n' '\n' ' // Thu thập figure + p (p không nằm trong figure)\n' " var figures = Array.from(root.querySelectorAll('figure'));\n" ' var paragraphs = ' "Array.from(root.querySelectorAll('p')).filter(function(p){ " "return !p.closest('figure'); });\n" ' var elements = figures.concat(paragraphs); // NodeList vốn đã ' 'theo DOM order => không cần sort\n' ' if (!elements.length) return;\n' '\n' ' var target = elements[Math.floor(elements.length / 2)]; // ' 'giữa bài\n' ' if (!target || !target.parentNode) return;\n' '\n' " var newDiv = document.createElement('div');\n" " newDiv.id = 'taboola-mid-article-widget';\n" ' target.parentNode.insertBefore(newDiv, target.nextSibling);\n' '\n' ' window.\\_taboola = window.\\_taboola || [];\n' ' window.\\_taboola.push({\n' " mode: 'thumbnails-4x1',\n" " container: 'taboola-mid-article-widget',\n" " placement: 'Mid Article Widget',\n" " target\\_type: 'mix'\n" ' });\n' ' })();\n' ' \n' '\n', 'published_date': datetime.date(2025, 12, 17), 'published_timestamp': datetime.datetime(2025, 12, 17, 11, 10), 'source': 'ThanhNien', 'tags': ['Dự báo khí hậu', 'ENSO', 'La Nina', 'Nhiệt độ mặt nước biển', 'Trung bình nhiều năm', 'Lượng mưa', 'Biển Đông', 'Bão', 'Áp thấp nhiệt đới', 'Không khí lạnh', 'Mưa nhỏ', 'Mưa phùn', 'Nắng nóng', 'Cao nguyên Trung bộ', 'Nam bộ', 'Miền Bắc', 'Miền Tây Nam bộ', 'Thời kỳ khô', 'Tháng 1-6.2026', 'Tình trạng trung tính', 'El Nino', 'Nắng nóng cục bộ', 'Đợt rét đậm', 'Đợt rét hại'], 'title': 'La Nina khả năng kết thúc sớm, miền Trung, miền Nam hứng nhiều đợt ' 'mưa trái mùa', 'url': 'https://thanhnien.vn/la-nina-kha-nang-ket-thuc-som-mien-trung-mien-nam-hung-nhieu-dot-mua-trai-mua-185251217104322856.htm', 'voice': 'SG-Nu-1-DT'} 2025-12-17 04:40:14 [scrapy.extensions.logstats] INFO: Crawled 20 pages (at 11 pages/min), scraped 3 items (at 1 items/min) 2025-12-17 04:40:14 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:40:14 [httpcore.connection] DEBUG: close.started 2025-12-17 04:40:14 [httpcore.connection] DEBUG: close.complete 2025-12-17 04:40:14 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': "Act as a content analysis tool. I will provide you with a piece of content, and your task is to extract relevant tags (keywords or phrases) that summarize the main topics, themes, or ideas present in the text. The tags should be concise, specific, and useful for categorization or search purposes. Ignore common filler words (e.g., 'the', 'and', 'is') unless they are part of a specific concept or phrase. After analyzing the content, return the tags in a simple list format. Here is the content to analyze: Ngày 17.12, Sở GD-ĐT TP.HCM triển khai và hướng dẫn đến UBND 168 xã, phường, đặc khu và các trường phổ thông (từ tiểu học đến THCS) về việc lập dự toán chi trả tiền lương dạy thêm giờ thực hiện 2 buổi/ngày từ năm học 2025-2026. Theo Sở GD-ĐT TP.HCM, việc xây dựng dự toán chi trả tiền lương dạy thêm giờ thực hiện 2 buổi/ngày áp dụng cho tất cả các cơ sở giáo dục phổ thông công lập có tổ chức dạy học 2 buổi/ngày từ năm học 2025-2026. Dự toán phải được xây dựng trên cơ sở kế hoạch giáo dục nhà trường, kế hoạch tổ chức dạy học 2 buổi/ngày trong năm học, trong đó xác định cụ thể nguồn ngân sách và nguồn xã hội hóa. Việc xác định chi trả tiền lương dạy thêm giờ áp dụng với giáo viên đã hoàn thành định mức tiết dạy theo thông tư và có tham gia giảng dạy 2 buổi/ngày theo phân công chính thức. Tiền lương dạy thêm giờ được xác định trên cơ sở thời khóa biểu, bảng phân công giảng dạy và các minh chứng khác có liên quan được thủ trưởng đơn vị phê duyệt. Thủ trưởng các cơ sở giáo dục phổ thông cần bố trí thời khóa biểu phù hợp, đồng thời rà soát điều kiện đội ngũ, cơ sở vật chất đảm bảo điều kiện dạy 2 buổi/ngày, tổ chức phân công hợp lý, công bằng giữa các giáo viên. Việc tính trả lương thêm giờ thực hiện Thông tư 21/2025/TT-BGDĐT quy định việc tính trả tiền lương dạy thêm giờ cho nhà giáo theo quy định mỗi tiết dạy vượt định mức được thanh toán bằng 150% tiền lương của một tiết dạy buổi/ngày và nguồn kinh phí chi trả: tiêu chuẩn và chỉ được nhận thanh toán tối đa không quá 200 tiết dạy thêm trong một năm học. Trường hợp đặc biệt do thiếu giáo viên ở môn học vượt quá 200 tiết/năm, các cơ sở giáo dục phổ thông báo cáo cơ quan chủ quản theo phân cấp có ý kiến để thực hiện thủ tục theo quy định theo điều 62 Nghị định 145. Việc dạy thêm giờ phải được sự đồng ý tự nguyện của giáo viên bộ môn liên quan. Thủ trưởng các cơ sở giáo dục phổ thông công lập chịu trách nhiệm xác định số tiết dạy vượt định mức dạy thêm giờ tổ chức dạy 2 buổi/ngày của từng giáo viên trong 1 học kỳ và tổng hợp tính toán kinh phí cần chi trả. Đối với phần hoạt động theo kế hoạch dạy học, hoạt động giáo dục ở buổi 2, nguồn kinh phí thực hiện chi trả tiền lương dạy thêm giờ được bố trí từ nguồn tài chính của đơn vị sự nghiệp công lập được giao trong dự toán ngân sách hằng năm theo quy định. Đối với phần hoạt động theo kế hoạch dạy học, hoạt động giáo dục ở buổi 2 được thực hiện xã hội hóa, trường sử dụng nguồn kinh phí từ các khoản thu dịch vụ phục vụ, hỗ trợ hoạt động giáo dục của cơ sở giáo dục công lập theo quy định để chi trả cho giáo viên theo thỏa thuận. Các đơn vị có thể thực hiện thanh toán hoặc tạm ứng tiền lương dạy thêm giờ cho giáo viên theo tháng, theo học kỳ hoặc cả năm học, tùy điều kiện cụ thể và thỏa thuận thống nhất với giáo viên. Bà Nguyễn Thị Nhật Hằng, Phó giám đốc Sở GD-ĐT TP.HCM, yêu cầu khi triển khai hướng dẫn việc lập dự toán, hiệu trưởng các trường tổ chức phổ biến nội dung các văn bản hướng dẫn đến tới toàn thể giáo viên, chủ động xây dựng bố trí trong dự toán cho thường xuyên hằng năm được giao theo quy định. Triển khai dạy học 2 buổi/ngày đúng hướng dẫn, đảm bảo chất lượng và quyền lợi cho giáo viên. Lãnh đạo sở này thông tin, Sở GD-ĐT phối hợp Sở Nội vụ theo dõi việc thực hiện chế độ làm việc, đảm bảo các trường không vượt quá giới hạn giờ dạy thêm theo quy định của bộ luật Lao động. Và đề nghị UBND phường xã, đặc khu và các đơn vị trường học nghiêm túc triển khai thực hiện nội dung hướng dẫn. Việc chi trả tiền lương dạy thêm giờ cho giáo viên dạy 2 buổi/ngày phải được thực hiện đúng quy định, công khai, minh bạch và đảm bảo quyền lợi cho đội ngũ nhà giáo, góp phần thực hiện thành công kế hoạch dạy học 2 buổi/ngày, nâng cao chất lượng giáo dục toàn diện theo chủ trương của Bộ."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2025-12-17 04:40:14 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-12-17 04:40:14 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2025-12-17 04:40:14 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2025-12-17 04:40:14 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2025-12-17 04:40:14 [httpcore.connection] DEBUG: start_tls.complete return_value= 2025-12-17 04:40:14 [httpcore.http11] DEBUG: send_request_headers.started request= 2025-12-17 04:40:14 [httpcore.http11] DEBUG: send_request_headers.complete 2025-12-17 04:40:14 [httpcore.http11] DEBUG: send_request_body.started request= 2025-12-17 04:40:14 [httpcore.http11] DEBUG: send_request_body.complete 2025-12-17 04:40:14 [httpcore.http11] DEBUG: receive_response_headers.started request= 2025-12-17 04:40:17 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 17 Dec 2025 04:40:17 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'2933'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'2948'), (b'x-ratelimit-limit-requests', b'30000'), (b'x-ratelimit-limit-tokens', b'150000000'), (b'x-ratelimit-remaining-requests', b'29999'), (b'x-ratelimit-remaining-tokens', b'149998617'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_2c996924ce7046ee9cc4014469464b4a'), (b'x-openai-proxy-wasm', b'v0.1'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=YWnZRQVB6sf4GcHMoOEx1.cqw8.KqU1uvOkDBFSlbk8-1765946417-1.0.1.1-en4TIiS37GOQibv0cimciQk2YOAF.VRG_OzWBP2TVEDiqeBwCZxBNXbnUw0BKAscidPBllLZ2IxnGrhco7npNqKD807f6ZBOTKsrZUMONck; path=/; expires=Wed, 17-Dec-25 05:10:17 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=xDC41D0ez6DMZh3b6KRUwAKXdiFjeRhINdEOKsPZVEU-1765946417869-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9af3bdc41c94ddc9-HKG'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-12-17 04:40:17 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-12-17 04:40:17 [httpcore.http11] DEBUG: receive_response_body.started request= 2025-12-17 04:40:17 [httpcore.http11] DEBUG: receive_response_body.complete 2025-12-17 04:40:17 [httpcore.http11] DEBUG: response_closed.started 2025-12-17 04:40:17 [httpcore.http11] DEBUG: response_closed.complete 2025-12-17 04:40:17 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Wed, 17 Dec 2025 04:40:17 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '2933'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '2948'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149998617'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_2c996924ce7046ee9cc4014469464b4a'), ('x-openai-proxy-wasm', 'v0.1'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=YWnZRQVB6sf4GcHMoOEx1.cqw8.KqU1uvOkDBFSlbk8-1765946417-1.0.1.1-en4TIiS37GOQibv0cimciQk2YOAF.VRG_OzWBP2TVEDiqeBwCZxBNXbnUw0BKAscidPBllLZ2IxnGrhco7npNqKD807f6ZBOTKsrZUMONck; path=/; expires=Wed, 17-Dec-25 05:10:17 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=xDC41D0ez6DMZh3b6KRUwAKXdiFjeRhINdEOKsPZVEU-1765946417869-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9af3bdc41c94ddc9-HKG'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-12-17 04:40:17 [openai._base_client] DEBUG: request_id: req_2c996924ce7046ee9cc4014469464b4a 2025-12-17 04:40:17 [thanhnien_timestamp] INFO: Min timestamp: 2025-12-17 11:10:00, Published timestamp: 2025-12-17 11:13:00 2025-12-17 04:40:17 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2025-12-17 04:43:44 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 413 2025-12-17 04:43:44 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/giao-vien-tphcm-se-duoc-tra-luong-day-them-gio-thuc-hien-2-buoi-ngay-ra-sao-185251217105139401.htm> {'audio_url': 'https://lake-api.actable.ai/tts-data/jxzkggki-2025-12-17%2004%3A40%3A27.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20251217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251217T044342Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=ec50ff53d96e9f1c2fbd45e823f4d06cdba17e745b74f2af0425b8ef9563fe23', 'author': None, 'category': 'Giáo dục', 'content': 'Ngày 17.12, Sở GD-ĐT TP.HCM triển khai và hướng dẫn đến UBND 168 ' 'xã, phường, đặc khu và các trường phổ thông (từ tiểu học đến ' 'THCS) về việc lập dự toán chi trả tiền lương dạy thêm giờ thực ' 'hiện 2 buổi/ngày từ năm học 2025-2026. Theo Sở GD-ĐT TP.HCM, việc ' 'xây dựng dự toán chi trả tiền lương dạy thêm giờ thực hiện 2 ' 'buổi/ngày áp dụng cho tất cả các cơ sở giáo dục phổ thông công ' 'lập có tổ chức dạy học 2 buổi/ngày từ năm học 2025-2026. Dự toán ' 'phải được xây dựng trên cơ sở kế hoạch giáo dục nhà trường, kế ' 'hoạch tổ chức dạy học 2 buổi/ngày trong năm học, trong đó xác ' 'định cụ thể nguồn ngân sách và nguồn xã hội hóa. Việc xác định ' 'chi trả tiền lương dạy thêm giờ áp dụng với giáo viên đã hoàn ' 'thành định mức tiết dạy theo thông tư và có tham gia giảng dạy 2 ' 'buổi/ngày theo phân công chính thức. Tiền lương dạy thêm giờ được ' 'xác định trên cơ sở thời khóa biểu, bảng phân công giảng dạy và ' 'các minh chứng khác có liên quan được thủ trưởng đơn vị phê ' 'duyệt. Thủ trưởng các cơ sở giáo dục phổ thông cần bố trí thời ' 'khóa biểu phù hợp, đồng thời rà soát điều kiện đội ngũ, cơ sở vật ' 'chất đảm bảo điều kiện dạy 2 buổi/ngày, tổ chức phân công hợp lý, ' 'công bằng giữa các giáo viên. Việc tính trả lương thêm giờ thực ' 'hiện Thông tư 21/2025/TT-BGDĐT quy định việc tính trả tiền lương ' 'dạy thêm giờ cho nhà giáo theo quy định mỗi tiết dạy vượt định ' 'mức được thanh toán bằng 150% tiền lương của một tiết dạy ' 'buổi/ngày và nguồn kinh phí chi trả: tiêu chuẩn và chỉ được nhận ' 'thanh toán tối đa không quá 200 tiết dạy thêm trong một năm học. ' 'Trường hợp đặc biệt do thiếu giáo viên ở môn học vượt quá 200 ' 'tiết/năm, các cơ sở giáo dục phổ thông báo cáo cơ quan chủ quản ' 'theo phân cấp có ý kiến để thực hiện thủ tục theo quy định theo ' 'điều 62 Nghị định 145. Việc dạy thêm giờ phải được sự đồng ý tự ' 'nguyện của giáo viên bộ môn liên quan. Thủ trưởng các cơ sở giáo ' 'dục phổ thông công lập chịu trách nhiệm xác định số tiết dạy vượt ' 'định mức dạy thêm giờ tổ chức dạy 2 buổi/ngày của từng giáo viên ' 'trong 1 học kỳ và tổng hợp tính toán kinh phí cần chi trả. Đối ' 'với phần hoạt động theo kế hoạch dạy học, hoạt động giáo dục ở ' 'buổi 2, nguồn kinh phí thực hiện chi trả tiền lương dạy thêm giờ ' 'được bố trí từ nguồn tài chính của đơn vị sự nghiệp công lập được ' 'giao trong dự toán ngân sách hằng năm theo quy định. Đối với phần ' 'hoạt động theo kế hoạch dạy học, hoạt động giáo dục ở buổi 2 được ' 'thực hiện xã hội hóa, trường sử dụng nguồn kinh phí từ các khoản ' 'thu dịch vụ phục vụ, hỗ trợ hoạt động giáo dục của cơ sở giáo dục ' 'công lập theo quy định để chi trả cho giáo viên theo thỏa thuận. ' 'Các đơn vị có thể thực hiện thanh toán hoặc tạm ứng tiền lương ' 'dạy thêm giờ cho giáo viên theo tháng, theo học kỳ hoặc cả năm ' 'học, tùy điều kiện cụ thể và thỏa thuận thống nhất với giáo viên. ' 'Bà Nguyễn Thị Nhật Hằng, Phó giám đốc Sở GD-ĐT TP.HCM, yêu cầu ' 'khi triển khai hướng dẫn việc lập dự toán, hiệu trưởng các trường ' 'tổ chức phổ biến nội dung các văn bản hướng dẫn đến tới toàn thể ' 'giáo viên, chủ động xây dựng bố trí trong dự toán cho thường ' 'xuyên hằng năm được giao theo quy định. Triển khai dạy học 2 ' 'buổi/ngày đúng hướng dẫn, đảm bảo chất lượng và quyền lợi cho ' 'giáo viên. Lãnh đạo sở này thông tin, Sở GD-ĐT phối hợp Sở Nội vụ ' 'theo dõi việc thực hiện chế độ làm việc, đảm bảo các trường không ' 'vượt quá giới hạn giờ dạy thêm theo quy định của bộ luật Lao ' 'động. Và đề nghị UBND phường xã, đặc khu và các đơn vị trường học ' 'nghiêm túc triển khai thực hiện nội dung hướng dẫn. Việc chi trả ' 'tiền lương dạy thêm giờ cho giáo viên dạy 2 buổi/ngày phải được ' 'thực hiện đúng quy định, công khai, minh bạch và đảm bảo quyền ' 'lợi cho đội ngũ nhà giáo, góp phần thực hiện thành công kế hoạch ' 'dạy học 2 buổi/ngày, nâng cao chất lượng giáo dục toàn diện theo ' 'chủ trương của Bộ.', 'description': 'Các trường phổ thông tại TP.HCM bắt đầu lập dự toán chi trả ' 'tiền lương dạy thêm giờ khi tổ chức dạy học 2 buổi/ngày.', 'html_content': '
\n' '\n' '
\n' '\n' ' ' '
Giáo viên '
                 'TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 buổi/ngày '
                 'ra sao?- Ảnh 1.

Giáo viên TP.HCM sẽ được nhận tiền ' 'lương dạy thêm 2 buổi/ngày

ẢNH: BÍCH ' 'THANH

Tiền tiết dạy ' 'thêm 2 buổi/ngày bằng 150% tiền lương của một tiết dạy ' 'buổi/ngày

Ngày 17.12, Sở ' 'GD-ĐT TP.HCM triển khai và hướng dẫn đến UBND 168 xã, ' 'phường, đặc khu và các trường phổ thông (từ tiểu học đến ' 'THCS) về việc lập dự toán chi trả tiền lương dạy thêm ' 'giờ thực hiện 2 buổi/ngày từ năm học 2025-2026.

Theo Sở GD-ĐT TP.HCM, việc xây ' 'dựng dự toán chi trả tiền lương dạy thêm ' 'giờ thực hiện 2 buổi/ngày áp dụng cho tất cả các cơ sở ' 'giáo dục phổ thông công lập có tổ chức dạy học 2 ' 'buổi/ngày từ năm học 2025-2026.

Dự toán phải được xây dựng trên ' 'cơ sở kế hoạch giáo dục nhà trường, kế hoạch tổ chức dạy học ' '2 buổi/ngày trong năm học, trong đó xác định cụ thể nguồn ' 'ngân sách và nguồn xã hội hóa.

Việc xác định chi trả tiền lương ' 'dạy thêm giờ áp dụng với giáo viên đã hoàn thành định mức ' 'tiết dạy theo thông tư và có tham gia giảng dạy 2 buổi/ngày ' 'theo phân công chính thức.

Tiền lương dạy thêm giờ được xác ' 'định trên cơ sở thời khóa biểu, bảng phân công giảng dạy và ' 'các minh chứng khác có liên quan được thủ trưởng đơn vị phê ' 'duyệt.

Thủ trưởng các cơ sở ' 'giáo dục phổ thông cần bố trí thời khóa biểu phù hợp, đồng ' 'thời rà soát điều kiện đội ngũ, cơ sở vật chất đảm bảo điều ' 'kiện dạy 2 buổi/ngày, tổ chức phân công hợp lý, công bằng ' 'giữa các giáo viên.

Việc ' 'tính trả lương thêm giờ thực hiện Thông tư 21/2025/TT-BGDĐT ' 'quy định việc tính trả tiền lương dạy thêm giờ cho nhà giáo ' 'theo quy định mỗi tiết dạy vượt định mức được thanh toán ' 'bằng 150% tiền lương của một tiết dạy buổi/ngày và nguồn ' 'kinh phí chi trả: tiêu chuẩn và chỉ được nhận thanh toán tối ' 'đa không quá 200 tiết dạy thêm trong một năm học.

Trường hợp đặc biệt do thiếu giáo viên ' 'ở môn học vượt quá 200 tiết/năm, các cơ sở giáo dục phổ ' 'thông báo cáo cơ quan chủ quản theo phân cấp có ý kiến để ' 'thực hiện thủ tục theo quy định theo điều 62 Nghị định ' '145.

Giáo viên '
                 'TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 buổi/ngày '
                 'ra sao?- Ảnh 2.

Giáo viên Trường THPT Nguyễn Tất ' 'Thành (P.Bình Phú, TP.HCM) chuẩn bị phòng thực hành thí ' 'nghiệm trước khi tổ chức tiết dạy

ẢNH: BÍCH ' 'THANH

Việc ' 'dạy thêm giờ phải được sự đồng ý tự nguyện của giáo viên bộ ' 'môn liên quan. Thủ trưởng các cơ sở giáo dục phổ thông công ' 'lập chịu trách nhiệm xác định số tiết dạy vượt định mức dạy ' 'thêm giờ tổ chức dạy 2 buổi/ngày của từng giáo viên trong 1 ' 'học kỳ và tổng hợp tính toán kinh phí cần chi trả.

Đối với phần hoạt động theo kế ' 'hoạch dạy học, hoạt động giáo dục ở buổi 2, nguồn kinh phí ' 'thực hiện chi trả tiền lương dạy thêm giờ được bố trí từ ' 'nguồn tài chính của đơn vị sự nghiệp công lập được giao ' 'trong dự toán ngân sách hằng năm theo quy định.

Đối với phần hoạt động theo kế ' 'hoạch dạy học, hoạt động giáo dục ở buổi 2 được thực hiện xã ' 'hội hóa, trường sử dụng nguồn kinh phí từ các khoản thu dịch ' 'vụ phục vụ, hỗ trợ hoạt động giáo dục của cơ sở giáo dục ' 'công lập theo quy định để chi trả cho giáo viên theo thỏa ' 'thuận.

Các đơn vị có thể ' 'thực hiện thanh toán hoặc tạm ứng tiền lương dạy thêm giờ ' 'cho giáo viên theo tháng, theo học kỳ hoặc cả năm học, tùy ' 'điều kiện cụ thể và thỏa thuận thống nhất với giáo ' 'viên.

Sở GD-ĐT sẽ phối hợp giám ' 'sát đảm bảo quyền lợi giáo viên

Bà Nguyễn Thị Nhật Hằng, Phó ' 'giám đốc Sở GD-ĐT TP.HCM, yêu cầu khi triển khai hướng dẫn ' 'việc lập dự toán, hiệu trưởng các trường tổ chức phổ biến ' 'nội dung các văn bản hướng dẫn đến tới toàn thể giáo viên, ' 'chủ động xây dựng bố trí trong dự toán cho thường xuyên hằng ' 'năm được giao theo quy định. Triển khai dạy học 2 buổi/ngày ' 'đúng hướng dẫn, đảm bảo chất lượng và quyền lợi cho giáo ' 'viên.

Lãnh đạo sở này ' 'thông tin, Sở GD-ĐT phối hợp Sở Nội vụ theo dõi việc thực ' 'hiện chế độ làm việc, đảm bảo các trường không vượt quá giới ' 'hạn giờ dạy thêm theo quy định của bộ luật Lao động.

Và đề nghị UBND phường xã, đặc ' 'khu và các đơn vị trường học nghiêm túc triển khai thực hiện ' 'nội dung hướng dẫn. Việc chi trả tiền lương dạy thêm giờ cho ' 'giáo viên dạy 2 buổi/ngày phải được thực hiện đúng quy định, ' 'công khai, minh bạch và đảm bảo quyền lợi cho đội ngũ nhà ' 'giáo, góp phần thực hiện thành công kế hoạch dạy học 2 ' 'buổi/ngày, nâng cao chất lượng giáo dục toàn diện theo chủ ' 'trương của Bộ.

\n' ' \n' '\n' '\n' ' \n' '
\n' ' \n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
\n' '\n' '
', 'md_content': '\n' '\n' '![Giáo viên TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 ' 'buổi/ngày ra sao?- Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2025/12/17/gvlt-17659424986452122079.jpg ' '"Giáo viên TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 ' 'buổi/ngày ra sao?- Ảnh 1.")Giáo viên TP.HCM sẽ được nhận tiền ' 'lương dạy thêm 2 buổi/ngày\n' '\n' 'ẢNH: BÍCH THANH\n' '\n' '## Tiền tiết dạy thêm 2 buổi/ngày bằng 150% tiền lương của một ' 'tiết dạy buổi/ngày\n' '\n' 'Ngày 17.12, Sở GD-ĐT TP.HCM triển khai và hướng dẫn đến UBND ' '168 xã, phường, đặc khu và các trường phổ thông (từ tiểu học ' 'đến THCS) về việc lập dự toán chi trả tiền [lương dạy ' 'thêm](https://thanhnien.vn/sau-sap-nhap-thu-nhap-tang-them-cua-giao-vien-tphcm-ra-sao-185251110213737868.htm ' '"lương dạy thêm") giờ thực hiện 2 buổi/ngày từ năm học ' '2025-2026.\n' '\n' 'Theo Sở GD-ĐT TP.HCM, việc xây dựng dự toán chi trả tiền ' '[lương dạy ' 'thêm](https://thanhnien.vn/nha-giao-khong-duoc-tra-tien-luong-day-them-qua-200-tiet-nam-hoc-18525092318372302.htm ' '"lương dạy thêm ") giờ thực hiện 2 buổi/ngày áp dụng cho tất ' 'cả các cơ sở giáo dục phổ thông công lập có tổ chức [dạy học 2 ' 'buổi/ngày](https://thanhnien.vn/day-hoc-2-buoi-ngay-lo-hop-thuc-hoa-day-them-185250409223402472.htm ' '"dạy học 2 buổi/ngày") từ năm học 2025-2026.\n' '\n' 'Dự toán phải được xây dựng trên cơ sở kế hoạch giáo dục nhà ' 'trường, kế hoạch tổ chức dạy học 2 buổi/ngày trong năm học, ' 'trong đó xác định cụ thể nguồn ngân sách và nguồn xã hội hóa.\n' '\n' 'Việc xác định chi trả tiền lương dạy thêm giờ áp dụng với giáo ' 'viên đã hoàn thành định mức tiết dạy theo thông tư và có tham ' 'gia giảng dạy 2 buổi/ngày theo phân công chính thức. \n' '\n' 'Tiền lương dạy thêm giờ được xác định trên cơ sở thời khóa ' 'biểu, bảng phân công giảng dạy và các minh chứng khác có liên ' 'quan được thủ trưởng đơn vị phê duyệt.\n' '\n' 'Thủ trưởng các cơ sở giáo dục phổ thông cần bố trí thời khóa ' 'biểu phù hợp, đồng thời rà soát điều kiện đội ngũ, cơ sở vật ' 'chất đảm bảo điều kiện dạy 2 buổi/ngày, tổ chức phân công hợp ' 'lý, công bằng giữa các giáo viên.\n' '\n' 'Việc tính trả lương thêm giờ thực hiện Thông tư ' '21/2025/TT-BGDĐT quy định việc tính trả tiền lương dạy thêm ' 'giờ cho nhà giáo theo quy định mỗi tiết dạy vượt định mức được ' 'thanh toán bằng 150% tiền lương của một tiết dạy buổi/ngày và ' 'nguồn kinh phí chi trả: tiêu chuẩn và chỉ được nhận thanh toán ' 'tối đa không quá 200 tiết dạy thêm trong một năm học.\n' '\n' 'Trường hợp đặc biệt do [thiếu giáo ' 'viên](https://thanhnien.vn/giam-doc-so-gd-dt-tphcm-chi-dao-nong-ve-day-them-hoc-them-thieu-giao-vien-185250808165024269.htm ' '"thiếu giáo viên ") ở môn học vượt quá 200 tiết/năm, các cơ sở ' 'giáo dục phổ thông báo cáo cơ quan chủ quản theo phân cấp có ý ' 'kiến để thực hiện thủ tục theo quy định theo điều 62 Nghị định ' '145.\n' '\n' '![Giáo viên TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 ' 'buổi/ngày ra sao?- Ảnh ' '2.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2025/12/17/gvtn-17659433116831025509222.jpg ' '"Giáo viên TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 ' 'buổi/ngày ra sao?- Ảnh 2.")Giáo viên Trường THPT Nguyễn Tất ' 'Thành (P.Bình Phú, TP.HCM) chuẩn bị phòng thực hành thí nghiệm ' 'trước khi tổ chức tiết dạy\n' '\n' 'ẢNH: BÍCH THANH\n' '\n' 'Việc dạy thêm giờ phải được sự đồng ý tự nguyện của giáo viên ' 'bộ môn liên quan. Thủ trưởng các cơ sở giáo dục phổ thông công ' 'lập chịu trách nhiệm xác định số tiết dạy vượt định mức dạy ' 'thêm giờ tổ chức dạy 2 buổi/ngày của từng giáo viên trong 1 ' 'học kỳ và tổng hợp tính toán kinh phí cần chi trả.\n' '\n' 'Đối với phần hoạt động theo kế hoạch dạy học, hoạt động giáo ' 'dục ở buổi 2, nguồn kinh phí thực hiện chi trả tiền lương dạy ' 'thêm giờ được bố trí từ nguồn tài chính của đơn vị sự nghiệp ' 'công lập được giao trong dự toán ngân sách hằng năm theo quy ' 'định.\n' '\n' 'Đối với phần hoạt động theo kế hoạch dạy học, hoạt động giáo ' 'dục ở buổi 2 được thực hiện xã hội hóa, trường sử dụng nguồn ' 'kinh phí từ các khoản thu dịch vụ phục vụ, hỗ trợ hoạt động ' 'giáo dục của cơ sở giáo dục công lập theo quy định để chi trả ' 'cho giáo viên theo thỏa thuận.\n' '\n' 'Các đơn vị có thể thực hiện thanh toán hoặc tạm ứng tiền lương ' 'dạy thêm giờ cho giáo viên theo tháng, theo học kỳ hoặc cả năm ' 'học, tùy điều kiện cụ thể và thỏa thuận thống nhất với giáo ' 'viên.\n' '\n' '## Sở GD-ĐT sẽ phối hợp giám sát đảm bảo quyền lợi giáo viên\n' '\n' 'Bà Nguyễn Thị Nhật Hằng, Phó giám đốc Sở GD-ĐT TP.HCM, yêu cầu ' 'khi triển khai hướng dẫn việc lập dự toán, hiệu trưởng các ' 'trường tổ chức phổ biến nội dung các văn bản hướng dẫn đến tới ' 'toàn thể giáo viên, chủ động xây dựng bố trí trong dự toán cho ' 'thường xuyên hằng năm được giao theo quy định. Triển khai dạy ' 'học 2 buổi/ngày đúng hướng dẫn, đảm bảo chất lượng và quyền ' 'lợi cho giáo viên.\n' '\n' 'Lãnh đạo sở này thông tin, Sở GD-ĐT phối hợp Sở Nội vụ theo ' 'dõi việc thực hiện chế độ làm việc, đảm bảo các trường không ' 'vượt quá giới hạn giờ dạy thêm theo quy định của bộ luật Lao ' 'động.\n' '\n' 'Và đề nghị UBND phường xã, đặc khu và các đơn vị trường học ' 'nghiêm túc triển khai thực hiện nội dung hướng dẫn. Việc chi ' 'trả tiền lương dạy thêm giờ cho giáo viên dạy 2 buổi/ngày phải ' 'được thực hiện đúng quy định, công khai, minh bạch và đảm bảo ' 'quyền lợi cho đội ngũ nhà giáo, góp phần thực hiện thành công ' 'kế hoạch dạy học 2 buổi/ngày, nâng cao chất lượng giáo dục ' 'toàn diện theo chủ trương của Bộ.\n' '\n' '\n' '\n' ' //Chèn ads giữa bài\n' ' (runinit = window.runinit || []).push(function () {\n' ' //Nếu k chạy ads thì return\n' " if (typeof \\_chkPrLink != 'undefined' && \\_chkPrLink)\n" ' return;\n' '\n' '\n' ' var mutexAds = \'\';\n' ' var content = $(\'[data-role="content"]\');\n' ' if (content.length > 0) {\n' ' var childNodes = content[0].childNodes;\n' ' for (i = 0; i < childNodes.length; i++) {\n' ' var childNode = childNodes[i];\n' '\n' ' var isPhotoOrVideo = false;\n' " if (childNode.nodeName.toLowerCase() == 'div') {\n" ' // kiem tra xem co la anh khong?\n' " var type = $(childNode).attr('class') + '';\n" '\n' " if (type.indexOf('VCSortableInPreviewMode') >= 0) {\n" ' isPhotoOrVideo = true;\n' ' }\n' ' }\n' '\n' ' try {\n' ' if ((i >= childNodes.length / 2 - 1) && (i < ' 'childNodes.length / 2) && !isPhotoOrVideo) {\n' ' if (i <= childNodes.length - 3) {\n' ' childNode.after(htmlToElement(mutexAds));\n' ' arfAsync.push("l2srqb41");\n' ' }\n' ' break;\n' ' }\n' ' }\n' ' catch (e) { }\n' ' }\n' ' }\n' ' });\n' ' function htmlToElement(html) {\n' " var template = document.createElement('template');\n" ' template.innerHTML = html;\n' ' return template.content.firstChild;\n' ' }\n' '\n' '\n' '\n' ' if (window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden)) {\n' ' if (!laNuocNgoai) {\n' ' (function (w, q) {\n' ' w[q] = w[q] || [];\n' ' w[q].push(["\\_mgc.load"]);\n' ' })(window, "\\_mgq");\n' ' }\n' ' }\n' ' \n' '\n' '\n' ' (function() {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' " if (typeof window.laNuocNgoai === 'undefined' || " '!window.laNuocNgoai) return; // chỉ chạy khi laNuocNgoai true\n' '\n' " var containerSelector = 'div.detail-cmain';\n" ' var root = document.querySelector(containerSelector);\n' ' if (!root) return;\n' '\n' ' // Thu thập figure + p (p không nằm trong figure)\n' " var figures = Array.from(root.querySelectorAll('figure'));\n" ' var paragraphs = ' "Array.from(root.querySelectorAll('p')).filter(function(p){ " "return !p.closest('figure'); });\n" ' var elements = figures.concat(paragraphs); // NodeList vốn đã ' 'theo DOM order => không cần sort\n' ' if (!elements.length) return;\n' '\n' ' var target = elements[Math.floor(elements.length / 2)]; // ' 'giữa bài\n' ' if (!target || !target.parentNode) return;\n' '\n' " var newDiv = document.createElement('div');\n" " newDiv.id = 'taboola-mid-article-widget';\n" ' target.parentNode.insertBefore(newDiv, target.nextSibling);\n' '\n' ' window.\\_taboola = window.\\_taboola || [];\n' ' window.\\_taboola.push({\n' " mode: 'thumbnails-4x1',\n" " container: 'taboola-mid-article-widget',\n" " placement: 'Mid Article Widget',\n" " target\\_type: 'mix'\n" ' });\n' ' })();\n' ' \n' '\n', 'published_date': datetime.date(2025, 12, 17), 'published_timestamp': datetime.datetime(2025, 12, 17, 11, 13), 'source': 'ThanhNien', 'tags': ['Sở GD-ĐT TP.HCM', 'Dự toán chi trả', 'Tiền lương dạy thêm giờ', 'Dạy 2 buổi/ngày', 'Năm học 2025-2026', 'Giáo dục phổ thông', 'Cơ sở giáo dục công lập', 'Kế hoạch giáo dục', 'Ngân sách', 'Thông tư 21/2025/TT-BGDĐT', 'Tiết dạy vượt định mức', 'Thanh toán lương', 'Giáo viên', 'Quyền lợi giáo viên', 'Chất lượng giáo dục', 'Hướng dẫn triển khai', 'Công khai, minh bạch', 'UBND phường xã', 'Đội ngũ nhà giáo', 'Hoạt động giáo dục'], 'title': 'Giáo viên TP.HCM sẽ được trả lương dạy thêm giờ thực hiện 2 ' 'buổi/ngày ra sao?', 'url': 'https://thanhnien.vn/giao-vien-tphcm-se-duoc-tra-luong-day-them-gio-thuc-hien-2-buoi-ngay-ra-sao-185251217105139401.htm', 'voice': 'SG-Nam-1-TM'} 2025-12-17 04:43:44 [scrapy.extensions.logstats] INFO: Crawled 21 pages (at 1 pages/min), scraped 4 items (at 1 items/min) 2025-12-17 04:43:44 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:43:44 [openai._base_client] DEBUG: Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'Act as a content analysis tool. I will provide you with a piece of content, and your task is to extract relevant tags (keywords or phrases) that summarize the main topics, themes, or ideas present in the text. The tags should be concise, specific, and useful for categorization or search purposes. Ignore common filler words (e.g., \'the\', \'and\', \'is\') unless they are part of a specific concept or phrase. After analyzing the content, return the tags in a simple list format. Here is the content to analyze: Các phi công trên máy bay thương mại Falcon 900EX bay từ Aruba thuộc Hà Lan ở Caribbean đến Miami (Mỹ) hôm 13.12 thông báo đã suýt đâm vào một máy bay tiếp nhiên liệu trên không của Không quân Mỹ gần Venezuela. CNN ngày 17.12 đăng tải lại thông tin liên lạc qua vô tuyến giữa phi công và đài kiểm soát không lưu tại Curacao thuộc Hà Lan, cách bờ biển Venezuela khoảng 64 km về hướng bắc. "Họ thật sự rất gần. Chúng tôi đang bay lên thẳng vào chiếc máy bay đó. Nó rất lớn, có lẽ là một chiếc [Boeing] 777 hoặc 767", một trong các phi công trên chiếc Falcon 900EX báo cáo với nhân viên kiểm soát không lưu tại Curacao ngay sau sự việc vào chiều 13.12 ở độ cao xấp xỉ 792 m. Quân đội Mỹ sở hữu máy bay tiếp nhiên liệu trên không KC-46, được phát triển từ dòng máy bay thương mại Boeing 767. Không quân Mỹ chưa bình luận về thông tin trên. Trước đó một ngày, các phi công của chuyến bay 1112 thuộc hãng JetBlue từ Curacao sang New York thông báo suýt va chạm với một máy bay tiếp nhiên liệu trên không của Không quân Mỹ. Các phi công của máy bay thương mại nói đã buộc phải dừng đột ngột quá trình tăng độ cao khi chiếc máy bay quân sự bay cắt ngang qua phía trước trong khi bộ hồi đáp tín hiệu bị tắt. Bộ Chiến tranh Mỹ và các quan chức hàng không Hà Lan thông báo đang kiểm tra sự cố ngày 12.12. Bộ Chỉ huy miền Nam (Mỹ) xác nhận đã nắm thông tin và đang xem xét sự việc. Ủy ban An toàn giao thông quốc gia Mỹ nói biết cả hai vụ việc và đang thu thập thông tin. Hồi tháng 11, Cơ quan Hàng không liên bang (FAA) của Mỹ phát cảnh báo đối với các hãng bay Mỹ về hoạt động quân sự gia tăng gần Venezuela . Ngày 16.12, FAA lặp lại cảnh báo này, cho rằng các máy bay có thể gặp rủi ro tiềm tàng ở mọi độ cao. Nhiều hãng hàng không quốc tế đã hủy các chuyến bay từ Venezuela.'}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2025-12-17 04:43:44 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-12-17 04:43:44 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2025-12-17 04:43:44 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2025-12-17 04:43:44 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2025-12-17 04:43:44 [httpcore.connection] DEBUG: start_tls.complete return_value= 2025-12-17 04:43:44 [httpcore.http11] DEBUG: send_request_headers.started request= 2025-12-17 04:43:44 [httpcore.http11] DEBUG: send_request_headers.complete 2025-12-17 04:43:44 [httpcore.http11] DEBUG: send_request_body.started request= 2025-12-17 04:43:44 [httpcore.http11] DEBUG: send_request_body.complete 2025-12-17 04:43:44 [httpcore.http11] DEBUG: receive_response_headers.started request= 2025-12-17 04:43:47 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 17 Dec 2025 04:43:47 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'2452'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'2465'), (b'x-ratelimit-limit-requests', b'30000'), (b'x-ratelimit-limit-tokens', b'150000000'), (b'x-ratelimit-remaining-requests', b'29999'), (b'x-ratelimit-remaining-tokens', b'149999317'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_c6a109f5657f4b208b2599dcb347f7e9'), (b'x-openai-proxy-wasm', b'v0.1'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=fgAIpWrktNpfLCcLp3FCVF3iWOCuAK1ExQnHkyTXlPc-1765946627-1.0.1.1-L8gXzTch2rved7tQK8W96NQekGYYmDsyjS_tKfVaSaYrMF7IMrPumk7ueglcPPJ_4kNgvQfEAR8ddip1P1D7AnD9sVtJLT6JkqCO7nrOQKM; path=/; expires=Wed, 17-Dec-25 05:13:47 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=_Nr9h49OOfD0J5uXaCk41LFRo5tg_z9jkdjwdVcjesQ-1765946627180-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9af3c2e32a03f57a-HKG'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-12-17 04:43:47 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-12-17 04:43:47 [httpcore.http11] DEBUG: receive_response_body.started request= 2025-12-17 04:43:47 [httpcore.http11] DEBUG: receive_response_body.complete 2025-12-17 04:43:47 [httpcore.http11] DEBUG: response_closed.started 2025-12-17 04:43:47 [httpcore.http11] DEBUG: response_closed.complete 2025-12-17 04:43:47 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Wed, 17 Dec 2025 04:43:47 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '2452'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '2465'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149999317'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_c6a109f5657f4b208b2599dcb347f7e9'), ('x-openai-proxy-wasm', 'v0.1'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=fgAIpWrktNpfLCcLp3FCVF3iWOCuAK1ExQnHkyTXlPc-1765946627-1.0.1.1-L8gXzTch2rved7tQK8W96NQekGYYmDsyjS_tKfVaSaYrMF7IMrPumk7ueglcPPJ_4kNgvQfEAR8ddip1P1D7AnD9sVtJLT6JkqCO7nrOQKM; path=/; expires=Wed, 17-Dec-25 05:13:47 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=_Nr9h49OOfD0J5uXaCk41LFRo5tg_z9jkdjwdVcjesQ-1765946627180-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9af3c2e32a03f57a-HKG'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-12-17 04:43:47 [openai._base_client] DEBUG: request_id: req_c6a109f5657f4b208b2599dcb347f7e9 2025-12-17 04:43:47 [thanhnien_timestamp] INFO: Min timestamp: 2025-12-17 11:10:00, Published timestamp: 2025-12-17 11:14:00 2025-12-17 04:43:47 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2025-12-17 04:46:23 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 411 2025-12-17 04:46:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/them-may-bay-thuong-mai-suyt-dam-may-bay-quan-su-my-gan-venezuela-185251217105137885.htm> {'audio_url': 'https://lake-api.actable.ai/tts-data/tjqsyuuq-2025-12-17%2004%3A44%3A43.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20251217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251217T044621Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=1eac84ec108cc97e05e7dab3dde55e4562f9fe4d679845648320eb981fc358ff', 'author': None, 'category': 'Thế giới', 'content': 'Các phi công trên máy bay thương mại Falcon 900EX bay từ Aruba ' 'thuộc Hà Lan ở Caribbean đến Miami (Mỹ) hôm 13.12 thông báo đã ' 'suýt đâm vào một máy bay tiếp nhiên liệu trên không của Không ' 'quân Mỹ gần Venezuela. CNN ngày 17.12 đăng tải lại thông tin liên ' 'lạc qua vô tuyến giữa phi công và đài kiểm soát không lưu tại ' 'Curacao thuộc Hà Lan, cách bờ biển Venezuela khoảng 64 km về ' 'hướng bắc. "Họ thật sự rất gần. Chúng tôi đang bay lên thẳng vào ' 'chiếc máy bay đó. Nó rất lớn, có lẽ là một chiếc [Boeing] 777 ' 'hoặc 767", một trong các phi công trên chiếc Falcon 900EX báo cáo ' 'với nhân viên kiểm soát không lưu tại Curacao ngay sau sự việc ' 'vào chiều 13.12 ở độ cao xấp xỉ 792 m. Quân đội Mỹ sở hữu máy bay ' 'tiếp nhiên liệu trên không KC-46, được phát triển từ dòng máy bay ' 'thương mại Boeing 767. Không quân Mỹ chưa bình luận về thông tin ' 'trên. Trước đó một ngày, các phi công của chuyến bay 1112 thuộc ' 'hãng JetBlue từ Curacao sang New York thông báo suýt va chạm với ' 'một máy bay tiếp nhiên liệu trên không của Không quân Mỹ. Các phi ' 'công của máy bay thương mại nói đã buộc phải dừng đột ngột quá ' 'trình tăng độ cao khi chiếc máy bay quân sự bay cắt ngang qua ' 'phía trước trong khi bộ hồi đáp tín hiệu bị tắt. Bộ Chiến tranh ' 'Mỹ và các quan chức hàng không Hà Lan thông báo đang kiểm tra sự ' 'cố ngày 12.12. Bộ Chỉ huy miền Nam (Mỹ) xác nhận đã nắm thông tin ' 'và đang xem xét sự việc. Ủy ban An toàn giao thông quốc gia Mỹ ' 'nói biết cả hai vụ việc và đang thu thập thông tin. Hồi tháng 11, ' 'Cơ quan Hàng không liên bang (FAA) của Mỹ phát cảnh báo đối với ' 'các hãng bay Mỹ về hoạt động quân sự gia tăng gần Venezuela . ' 'Ngày 16.12, FAA lặp lại cảnh báo này, cho rằng các máy bay có thể ' 'gặp rủi ro tiềm tàng ở mọi độ cao. Nhiều hãng hàng không quốc tế ' 'đã hủy các chuyến bay từ Venezuela.', 'description': 'Trong hai ngày liên tiếp, hai máy bay thương mại suýt đâm vào ' 'máy bay quân sự của Mỹ gần Venezuela giữa chiến dịch chống ma ' 'túy của Lầu Năm Góc tại khu vực.', 'html_content': '
\n' '\n' '
\n' '\n' ' ' '

Các phi công trên máy bay ' 'thương mại Falcon 900EX bay từ Aruba thuộc Hà Lan ở ' 'Caribbean đến Miami (Mỹ) hôm 13.12 thông báo đã suýt đâm vào ' 'một máy bay tiếp nhiên liệu trên không của Không quân Mỹ\xa0' 'gần Venezuela. CNN ngày 17.12 đăng tải lại thông tin liên ' 'lạc qua vô tuyến giữa phi công và đài kiểm soát không lưu ' 'tại Curacao thuộc Hà Lan, cách bờ biển Venezuela khoảng 64 km về hướng ' 'bắc.

Thêm máy '
                 'bay thương mại suýt đâm máy bay quân sự Mỹ gần Venezuela- '
                 'Ảnh 1.

Máy bay tiếp nhiên liệu trên ' 'không KC-46A Pegasus tiếp nhiên liệu cho một tiêm kích ' 'F/A-18 của Úc hồi tháng 5

ẢNH: KHÔNG QUÂN ' 'MỸ

"Họ thật ' 'sự rất gần. Chúng tôi đang bay lên thẳng vào chiếc máy bay ' 'đó. Nó rất lớn, có lẽ là một chiếc [Boeing] 777 hoặc 767", ' 'một trong các phi công trên chiếc Falcon 900EX báo cáo với ' 'nhân viên kiểm soát không lưu tại Curacao ngay sau sự việc ' 'vào chiều 13.12 ở độ cao xấp xỉ 792 m. Quân đội Mỹ sở hữu ' 'máy bay tiếp nhiên liệu trên không KC-46, được phát triển từ ' 'dòng máy bay thương mại Boeing 767.

Không quân Mỹ chưa bình ' 'luận về thông tin trên. Trước đó một ngày, các phi công của ' 'chuyến bay 1112 thuộc hãng JetBlue từ Curacao sang New York ' 'thông báo suýt va chạm với một máy bay tiếp nhiên liệu trên ' 'không của Không quân Mỹ. Các phi công của máy bay thương mại ' 'nói đã buộc phải dừng đột ngột quá trình tăng độ cao khi ' 'chiếc máy bay quân sự bay cắt ngang qua phía trước trong khi ' 'bộ hồi đáp tín hiệu bị tắt.

Bộ Chiến tranh Mỹ và các quan ' 'chức hàng không Hà Lan thông báo đang kiểm tra sự cố ngày ' '12.12. Bộ Chỉ huy miền Nam (Mỹ) xác nhận đã nắm thông tin và ' 'đang xem xét sự việc.

Ủy ' 'ban An toàn giao thông quốc gia Mỹ nói biết cả hai vụ việc ' 'và đang thu thập thông tin.

Hồi tháng 11, Cơ quan Hàng không ' 'liên bang (FAA) của Mỹ phát cảnh báo đối với các hãng bay Mỹ ' 'về hoạt động quân sự gia tăng gần Venezuela. Ngày 16.12, ' 'FAA lặp lại cảnh báo này, cho rằng các máy bay có thể gặp ' 'rủi ro tiềm tàng ở mọi độ cao. Nhiều hãng hàng không quốc tế ' 'đã hủy các chuyến bay từ Venezuela.

\n' ' \n' '\n' '\n' ' \n' '
\n' ' \n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
\n' '\n' '
', 'md_content': '\n' '\n' 'Các phi công trên máy bay thương mại Falcon 900EX bay từ Aruba ' 'thuộc Hà Lan ở Caribbean đến Miami (Mỹ) hôm 13.12 thông báo đã ' 'suýt đâm vào một máy bay tiếp nhiên liệu trên không của [Không ' 'quân Mỹ](https://thanhnien.vn/khong-quan-my.html "Không quân ' 'Mỹ")\xa0gần Venezuela. CNN ngày 17.12 đăng tải lại thông tin ' 'liên lạc qua vô tuyến giữa phi công và đài kiểm soát không lưu ' 'tại Curacao thuộc Hà Lan, cách bờ biển ' '[Venezuela](https://thanhnien.vn/venezuela.html "Venezuela") ' 'khoảng 64 km về hướng bắc.\n' '\n' '![Thêm máy bay thương mại suýt đâm máy bay quân sự Mỹ gần ' 'Venezuela- Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2025/12/17/1000wq95-1765943168642875083076.jpg ' '"Thêm máy bay thương mại suýt đâm máy bay quân sự Mỹ gần ' 'Venezuela- Ảnh 1.")Máy bay tiếp nhiên liệu trên không KC-46A ' 'Pegasus tiếp nhiên liệu cho một tiêm kích F/A-18 của Úc hồi ' 'tháng 5\n' '\n' 'ẢNH: KHÔNG QUÂN MỸ\n' '\n' '"Họ thật sự rất gần. Chúng tôi đang bay lên thẳng vào chiếc ' 'máy bay đó. Nó rất lớn, có lẽ là một chiếc [Boeing] 777 hoặc ' '767", một trong các phi công trên chiếc Falcon 900EX báo cáo ' 'với nhân viên kiểm soát không lưu tại Curacao ngay sau sự việc ' 'vào chiều 13.12 ở độ cao xấp xỉ 792 m. Quân đội Mỹ sở hữu máy ' 'bay tiếp nhiên liệu trên không KC-46, được phát triển từ dòng ' 'máy bay thương mại Boeing 767.\n' '\n' '[Không quân ' 'Mỹ](https://thanhnien.vn/phao-dai-bay-b-52-tap-tran-tan-cong-gan-venezuela-giua-cang-thang-185251022155956742.htm ' '"Pháo đài bay B-52 tập trận tấn công gần Venezuela giữa căng ' 'thẳng") chưa bình luận về thông tin trên. Trước đó một ngày, ' 'các phi công của chuyến bay 1112 thuộc hãng JetBlue từ Curacao ' 'sang New York thông báo suýt va chạm với một máy bay tiếp ' 'nhiên liệu trên không của Không quân Mỹ. Các phi công của máy ' 'bay thương mại nói đã buộc phải dừng đột ngột quá trình tăng ' 'độ cao khi chiếc máy bay quân sự bay cắt ngang qua phía trước ' 'trong khi bộ hồi đáp tín hiệu bị tắt.\n' '\n' 'Bộ Chiến tranh Mỹ và các quan chức hàng không Hà Lan thông báo ' 'đang kiểm tra sự cố ngày 12.12. Bộ Chỉ huy miền Nam (Mỹ) xác ' 'nhận đã nắm thông tin và đang xem xét sự việc.\n' '\n' 'Ủy ban An toàn giao thông quốc gia Mỹ nói biết cả hai vụ việc ' 'và đang thu thập thông tin.\n' '\n' 'Hồi tháng 11, Cơ quan Hàng không liên bang (FAA) của Mỹ phát ' 'cảnh báo đối với các hãng bay Mỹ về hoạt động quân sự gia tăng ' 'gần ' '[Venezuela](https://thanhnien.vn/quan-doi-my-dieu-nhieu-may-bay-den-sat-venezuela-giua-cang-thang-185251213103131405.htm ' '"Quân đội Mỹ điều nhiều máy bay đến sát Venezuela giữa căng ' 'thẳng?"). Ngày 16.12, FAA lặp lại cảnh báo này, cho rằng các ' 'máy bay có thể gặp rủi ro tiềm tàng ở mọi độ cao. Nhiều hãng ' 'hàng không quốc tế đã hủy các chuyến bay từ Venezuela.\n' '\n' '\n' '\n' ' //Chèn ads giữa bài\n' ' (runinit = window.runinit || []).push(function () {\n' ' //Nếu k chạy ads thì return\n' " if (typeof \\_chkPrLink != 'undefined' && \\_chkPrLink)\n" ' return;\n' '\n' '\n' ' var mutexAds = \'\';\n' ' var content = $(\'[data-role="content"]\');\n' ' if (content.length > 0) {\n' ' var childNodes = content[0].childNodes;\n' ' for (i = 0; i < childNodes.length; i++) {\n' ' var childNode = childNodes[i];\n' '\n' ' var isPhotoOrVideo = false;\n' " if (childNode.nodeName.toLowerCase() == 'div') {\n" ' // kiem tra xem co la anh khong?\n' " var type = $(childNode).attr('class') + '';\n" '\n' " if (type.indexOf('VCSortableInPreviewMode') >= 0) {\n" ' isPhotoOrVideo = true;\n' ' }\n' ' }\n' '\n' ' try {\n' ' if ((i >= childNodes.length / 2 - 1) && (i < ' 'childNodes.length / 2) && !isPhotoOrVideo) {\n' ' if (i <= childNodes.length - 3) {\n' ' childNode.after(htmlToElement(mutexAds));\n' ' arfAsync.push("l2srqb41");\n' ' }\n' ' break;\n' ' }\n' ' }\n' ' catch (e) { }\n' ' }\n' ' }\n' ' });\n' ' function htmlToElement(html) {\n' " var template = document.createElement('template');\n" ' template.innerHTML = html;\n' ' return template.content.firstChild;\n' ' }\n' '\n' '\n' '\n' ' if (window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden)) {\n' ' if (!laNuocNgoai) {\n' ' (function (w, q) {\n' ' w[q] = w[q] || [];\n' ' w[q].push(["\\_mgc.load"]);\n' ' })(window, "\\_mgq");\n' ' }\n' ' }\n' ' \n' '\n' '\n' ' (function() {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' " if (typeof window.laNuocNgoai === 'undefined' || " '!window.laNuocNgoai) return; // chỉ chạy khi laNuocNgoai true\n' '\n' " var containerSelector = 'div.detail-cmain';\n" ' var root = document.querySelector(containerSelector);\n' ' if (!root) return;\n' '\n' ' // Thu thập figure + p (p không nằm trong figure)\n' " var figures = Array.from(root.querySelectorAll('figure'));\n" ' var paragraphs = ' "Array.from(root.querySelectorAll('p')).filter(function(p){ " "return !p.closest('figure'); });\n" ' var elements = figures.concat(paragraphs); // NodeList vốn đã ' 'theo DOM order => không cần sort\n' ' if (!elements.length) return;\n' '\n' ' var target = elements[Math.floor(elements.length / 2)]; // ' 'giữa bài\n' ' if (!target || !target.parentNode) return;\n' '\n' " var newDiv = document.createElement('div');\n" " newDiv.id = 'taboola-mid-article-widget';\n" ' target.parentNode.insertBefore(newDiv, target.nextSibling);\n' '\n' ' window.\\_taboola = window.\\_taboola || [];\n' ' window.\\_taboola.push({\n' " mode: 'thumbnails-4x1',\n" " container: 'taboola-mid-article-widget',\n" " placement: 'Mid Article Widget',\n" " target\\_type: 'mix'\n" ' });\n' ' })();\n' ' \n' '\n', 'published_date': datetime.date(2025, 12, 17), 'published_timestamp': datetime.datetime(2025, 12, 17, 11, 14), 'source': 'ThanhNien', 'tags': ['Falcon 900EX', 'Commercial aviation', 'Near miss', 'US Air Force', 'Aerial refueling', 'Venezuela', 'Air traffic control', 'JetBlue flight 1112', 'Boeing 777', 'Boeing 767', 'KC-46', 'Military aircraft', 'FAA warning', 'Aviation safety', 'Caribbean', 'Miami', 'Curacao', 'Airspace incidents', 'Flight safety', 'International airlines'], 'title': 'Thêm máy bay thương mại suýt đâm máy bay quân sự Mỹ gần Venezuela', 'url': 'https://thanhnien.vn/them-may-bay-thuong-mai-suyt-dam-may-bay-quan-su-my-gan-venezuela-185251217105137885.htm', 'voice': 'SG-Nu-1-DT'} 2025-12-17 04:46:23 [scrapy.extensions.logstats] INFO: Crawled 22 pages (at 1 pages/min), scraped 5 items (at 1 items/min) 2025-12-17 04:46:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2025-12-17 04:46:23 [thanhnien_timestamp] INFO: Min timestamp: 2025-12-17 11:10:00, Published timestamp: 2025-12-17 11:18:00 2025-12-17 04:46:23 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2025-12-17 04:46:43 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 409 2025-12-17 04:46:43 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/xem-nhanh-12h-thao-do-bien-bao-20-km-gio-o-dong-nai-canh-bao-5-tinh-mien-trung-mua-lon-185251217105944465.htm> {'audio_url': 'https://lake-api.actable.ai/tts-data/nyvyydli-2025-12-17%2004%3A46%3A23.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20251217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251217T044640Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=de6e1ec0fad33afef2dc51a20fd68565354fc4338f5738d1141e7da06c5ea19e', 'author': None, 'category': 'Video', 'content': '', 'description': 'Tin tức thời tiết, tháo dỡ biển báo 20 km/giờ, tin bão mặt ' 'trời… sẽ là những tin tức được đề cập trong bản tin trực tiếp ' 'Xem nhanh 12h ngày 17.12.2025 của Báo Thanh Niên.', 'html_content': '
\n' '
\n' ' \n' ' \n' '\n' ' \n' '\n' '\n' '\n' '
\n' ' \n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
\n' '\n' '\n' '
', 'md_content': '\n' '\n' '\n' ' //Chèn ads giữa bài\n' ' (runinit = window.runinit || []).push(function () {\n' ' //Nếu k chạy ads thì return\n' " if (typeof \\_chkPrLink != 'undefined' && \\_chkPrLink)\n" ' return;\n' '\n' '\n' ' var mutexAds = \'\';\n' ' var content = $(\'[data-role="content"]\');\n' ' if (content.length > 0) {\n' ' var childNodes = content[0].childNodes;\n' ' for (i = 0; i < childNodes.length; i++) {\n' ' var childNode = childNodes[i];\n' '\n' ' var isPhotoOrVideo = false;\n' " if (childNode.nodeName.toLowerCase() == 'div') {\n" ' // kiem tra xem co la anh khong?\n' " var type = $(childNode).attr('class') + '';\n" '\n' " if (type.indexOf('VCSortableInPreviewMode') >= 0) {\n" ' isPhotoOrVideo = true;\n' ' }\n' ' }\n' '\n' ' try {\n' ' if ((i >= childNodes.length / 2 - 1) && (i < ' 'childNodes.length / 2) && !isPhotoOrVideo) {\n' ' if (i <= childNodes.length - 3) {\n' ' childNode.after(htmlToElement(mutexAds));\n' ' arfAsync.push("l2srqb41");\n' ' }\n' ' break;\n' ' }\n' ' }\n' ' catch (e) { }\n' ' }\n' ' }\n' ' });\n' ' function htmlToElement(html) {\n' " var template = document.createElement('template');\n" ' template.innerHTML = html;\n' ' return template.content.firstChild;\n' ' }\n' '\n' '\n' '\n' ' if (window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden)) {\n' ' if (!laNuocNgoai) {\n' ' (function (w, q) {\n' ' w[q] = w[q] || [];\n' ' w[q].push(["\\_mgc.load"]);\n' ' })(window, "\\_mgq");\n' ' }\n' ' }\n' ' \n' '\n' '\n' ' (function() {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' " if (typeof window.laNuocNgoai === 'undefined' || " '!window.laNuocNgoai) return; // chỉ chạy khi laNuocNgoai true\n' '\n' " var containerSelector = 'div.detail-cmain';\n" ' var root = document.querySelector(containerSelector);\n' ' if (!root) return;\n' '\n' ' // Thu thập figure + p (p không nằm trong figure)\n' " var figures = Array.from(root.querySelectorAll('figure'));\n" ' var paragraphs = ' "Array.from(root.querySelectorAll('p')).filter(function(p){ " "return !p.closest('figure'); });\n" ' var elements = figures.concat(paragraphs); // NodeList vốn đã ' 'theo DOM order => không cần sort\n' ' if (!elements.length) return;\n' '\n' ' var target = elements[Math.floor(elements.length / 2)]; // ' 'giữa bài\n' ' if (!target || !target.parentNode) return;\n' '\n' " var newDiv = document.createElement('div');\n" " newDiv.id = 'taboola-mid-article-widget';\n" ' target.parentNode.insertBefore(newDiv, target.nextSibling);\n' '\n' ' window.\\_taboola = window.\\_taboola || [];\n' ' window.\\_taboola.push({\n' " mode: 'thumbnails-4x1',\n" " container: 'taboola-mid-article-widget',\n" " placement: 'Mid Article Widget',\n" " target\\_type: 'mix'\n" ' });\n' ' })();\n' ' \n' '\n', 'published_date': datetime.date(2025, 12, 17), 'published_timestamp': datetime.datetime(2025, 12, 17, 11, 18), 'source': 'ThanhNien', 'title': 'Xem nhanh 12h: Tháo dỡ biển báo 20 km/giờ ở Đồng Nai | Cảnh báo 5 ' 'tỉnh miền Trung mưa lớn', 'url': 'https://thanhnien.vn/xem-nhanh-12h-thao-do-bien-bao-20-km-gio-o-dong-nai-canh-bao-5-tinh-mien-trung-mua-lon-185251217105944465.htm', 'voice': 'SG-Nam-1-TM'} 2025-12-17 04:46:43 [scrapy.extensions.logstats] INFO: Crawled 23 pages (at 1 pages/min), scraped 6 items (at 1 items/min) 2025-12-17 04:46:43 [scrapy.core.engine] INFO: Closing spider (finished) 2025-12-17 04:46:43 [boto3.s3.transfer] DEBUG: Opting out of CRT Transfer Manager. Preferred client: auto, CRT available: False, Instance Optimized: False. 2025-12-17 04:46:43 [boto3.s3.transfer] DEBUG: Using default client. pid: 189230, thread: 139907005774648 2025-12-17 04:46:43 [s3transfer.utils] DEBUG: Acquiring 0 2025-12-17 04:46:43 [s3transfer.tasks] DEBUG: UploadSubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] 2025-12-17 04:46:43 [s3transfer.tasks] DEBUG: UploadSubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures 2025-12-17 04:46:43 [s3transfer.tasks] DEBUG: Executing task UploadSubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } 2025-12-17 04:46:43 [s3transfer.futures] DEBUG: Submitting task PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'extra_args': {}}) to executor for transfer request: 0. 2025-12-17 04:46:43 [s3transfer.utils] DEBUG: Acquiring 0 2025-12-17 04:46:43 [s3transfer.tasks] DEBUG: PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'extra_args': {}}) about to wait for the following futures [] 2025-12-17 04:46:43 [s3transfer.utils] DEBUG: Releasing acquire 0/None 2025-12-17 04:46:43 [s3transfer.tasks] DEBUG: PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'extra_args': {}}) done waiting for dependent futures 2025-12-17 04:46:43 [s3transfer.tasks] DEBUG: Executing task PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'extra_args': {}}) with kwargs {'client': , 'fileobj': , 'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'extra_args': {}} 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler > 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler > 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-endpoint-resolution.s3: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-endpoint-resolution.s3: calling handler > 2025-12-17 04:46:43 [botocore.regions] DEBUG: Calling endpoint provider with parameters: {'Bucket': 'dagster-output-data', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://lake-api.actable.ai/', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'Key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} 2025-12-17 04:46:43 [botocore.regions] DEBUG: Endpoint provider result: https://lake-api.actable.ai/dagster-output-data 2025-12-17 04:46:43 [botocore.regions] DEBUG: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" 2025-12-17 04:46:43 [botocore.regions] DEBUG: Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.handlers] DEBUG: Adding expect 100 continue header to request. 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler > 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.endpoint] DEBUG: Making request for OperationModel(name=PutObject) with params: {'url_path': '/thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'query_string': {}, 'method': 'PUT', 'headers': {'User-Agent': 'Boto3/1.34.57 md/Botocore#1.34.162 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.11.13 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.162', 'Content-MD5': 'ZemqLsfxQ/seeq6ZbicsiA==', 'Expect': '100-continue'}, 'body': , 'auth_path': '/dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'url': 'https://lake-api.actable.ai/dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'dagster-output-data', 'params': {'Bucket': 'dagster-output-data', 'Key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl', 'Body': }}, 'input_params': {'Bucket': 'dagster-output-data', 'Key': 'thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl'}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'endpoint_properties': {'authSchemes': [{'disableDoubleEncoding': True, 'name': 'sigv4', 'signingName': 's3', 'signingRegion': 'us-east-1'}]}}} 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler > 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event choose-signer.s3.PutObject: calling handler > 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event choose-signer.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-sign.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event before-sign.s3.PutObject: calling handler > 2025-12-17 04:46:43 [botocore.auth] DEBUG: Calculating signature using v4 auth. 2025-12-17 04:46:43 [botocore.auth] DEBUG: CanonicalRequest: PUT /dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl content-md5:ZemqLsfxQ/seeq6ZbicsiA== host:lake-api.actable.ai x-amz-content-sha256:UNSIGNED-PAYLOAD x-amz-date:20251217T044643Z content-md5;host;x-amz-content-sha256;x-amz-date UNSIGNED-PAYLOAD 2025-12-17 04:46:43 [botocore.auth] DEBUG: StringToSign: AWS4-HMAC-SHA256 20251217T044643Z 20251217/us-east-1/s3/aws4_request 37c830734eb2aada7d9504986a9004e03d604f5fe1637c938f57d7d1f5569773 2025-12-17 04:46:43 [botocore.auth] DEBUG: Signature: 6f2acc61c4c69bfeac2bf6adee105486f3bc58b5e9ac25f231439328c2e935af 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.endpoint] DEBUG: Sending http request: 2025-12-17 04:46:43 [botocore.httpsession] DEBUG: Certificate path: /usr/local/lib/python3.11/site-packages/certifi/cacert.pem 2025-12-17 04:46:43 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): lake-api.actable.ai:443 2025-12-17 04:46:43 [botocore.awsrequest] DEBUG: Waiting for 100 Continue response. 2025-12-17 04:46:43 [botocore.awsrequest] DEBUG: 100 Continue response seen, now sending request body. 2025-12-17 04:46:43 [urllib3.connectionpool] DEBUG: https://lake-api.actable.ai:443 "PUT /dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl HTTP/1.1" 200 0 2025-12-17 04:46:43 [botocore.parsers] DEBUG: Response headers: {'Server': 'nginx/1.24.0 (Ubuntu)', 'Date': 'Wed, 17 Dec 2025 04:46:43 GMT', 'Content-Length': '0', 'Connection': 'keep-alive', 'Accept-Ranges': 'bytes', 'ETag': '"65e9aa2ec7f143fb1e7aae996e272c88"', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Vary': 'Origin, Accept-Encoding', 'X-Amz-Bucket-Region': 'us-east-1', 'X-Amz-Id-2': 'dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8', 'X-Amz-Request-Id': '1881E742FE09A2B4', 'X-Content-Type-Options': 'nosniff', 'X-Ratelimit-Limit': '25637', 'X-Ratelimit-Remaining': '25637', 'X-Xss-Protection': '1; mode=block'} 2025-12-17 04:46:43 [botocore.parsers] DEBUG: Response body: b'' 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event needs-retry.s3.PutObject: calling handler 2025-12-17 04:46:43 [botocore.retryhandler] DEBUG: No retry needed. 2025-12-17 04:46:43 [botocore.hooks] DEBUG: Event needs-retry.s3.PutObject: calling handler > 2025-12-17 04:46:43 [s3transfer.utils] DEBUG: Releasing acquire 0/None 2025-12-17 04:46:43 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (6 items) in: s3://dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_2f808ecadb0111f099e2d6783c969646_scheduled_2025-12-17.jl 2025-12-17 04:46:43 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 7619, 'downloader/request_count': 23, 'downloader/request_method_count/GET': 23, 'downloader/response_bytes': 3021988, 'downloader/response_count': 23, 'downloader/response_status_count/200': 23, 'elapsed_time_seconds': 917.814496, 'feedexport/success_count/S3FeedStorage': 1, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2025, 12, 17, 4, 46, 43, 756929, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 15663535, 'httpcompression/response_count': 23, 'item_scraped_count': 6, 'log_count/DEBUG': 245, 'log_count/INFO': 44, 'memusage/max': 160661504, 'memusage/startup': 124313600, 'request_depth_max': 2, 'response_received_count': 23, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 22, 'scheduler/dequeued/memory': 22, 'scheduler/enqueued': 22, 'scheduler/enqueued/memory': 22, 'start_time': datetime.datetime(2025, 12, 17, 4, 31, 25, 942433, tzinfo=datetime.timezone.utc)} 2025-12-17 04:46:43 [scrapy.core.engine] INFO: Spider closed (finished) 2025-12-17 04:46:44 [httpcore.connection] DEBUG: close.started 2025-12-17 04:46:44 [httpcore.connection] DEBUG: close.complete 2025-12-17 04:46:44 [httpcore.connection] DEBUG: close.started 2025-12-17 04:46:44 [httpcore.connection] DEBUG: close.complete 2025-12-17 04:46:44 [httpcore.connection] DEBUG: close.started 2025-12-17 04:46:44 [httpcore.connection] DEBUG: close.complete