2026-09-24 23:30:35 [scrapy.utils.log] INFO: Scrapy 2.11.1 started (bot: news_scraper) 2026-09-24 23:30:35 [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-191-generic-x86_64-with 2026-09-24 23:30:35 [scrapy.addons] INFO: Enabled addons: [] 2026-09-24 23:30:35 [asyncio] DEBUG: Using selector: EpollSelector 2026-09-24 23:30:35 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-09-24 23:30:35 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-09-24 23:30:35 [scrapy.extensions.telnet] INFO: Telnet Password: ccfd2b870de09498 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from before-call.apigateway to before-call.api-gateway 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search 2026-09-24 23:30:35 [botocore.hooks] DEBUG: Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/endpoints.json 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/sdk-default-configuration.json 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event choose-service-name: calling handler 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/service-2.json.gz 2026-09-24 23:30:36 [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 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/partitions.json 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler ._handler at 0x7f7d877b4860> 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-09-24 23:30:36 [botocore.endpoint] DEBUG: Setting s3 timeout as (60, 60) 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/_retry.json 2026-09-24 23:30:36 [botocore.client] DEBUG: Registering retry handlers for service: s3 2026-09-24 23:30:36 [botocore.utils] DEBUG: Registering S3 region redirector handler 2026-09-24 23:30:36 [botocore.utils] DEBUG: Registering S3Express Identity Resolver 2026-09-24 23:30:36 [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'] 2026-09-24 23:30:36 [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/e48efbb6b86f11f1a00e9270e2e49414.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'} 2026-09-24 23:30:36 [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'] 2026-09-24 23:30:36 [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'] 2026-09-24 23:30:36 [scrapy.middleware] INFO: Enabled item pipelines: [] 2026-09-24 23:30:36 [scrapy.core.engine] INFO: Spider opened 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from before-call.apigateway to before-call.api-gateway 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/endpoints.json 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/sdk-default-configuration.json 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event choose-service-name: calling handler 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/service-2.json.gz 2026-09-24 23:30:36 [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 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/partitions.json 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler ._handler at 0x7f7d8681d940> 2026-09-24 23:30:36 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-09-24 23:30:36 [botocore.endpoint] DEBUG: Setting s3 timeout as (60, 60) 2026-09-24 23:30:36 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/_retry.json 2026-09-24 23:30:36 [botocore.client] DEBUG: Registering retry handlers for service: s3 2026-09-24 23:30:36 [botocore.utils] DEBUG: Registering S3 region redirector handler 2026-09-24 23:30:36 [botocore.utils] DEBUG: Registering S3Express Identity Resolver 2026-09-24 23:30:36 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-09-24 23:30:36 [thanhnien_timestamp] INFO: Spider opened: thanhnien_timestamp 2026-09-24 23:30:36 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6026 2026-09-24 23:30:36 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-09-24 23:30:44 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-09-24 23:30:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/) 2026-09-24 23:30:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:30:49 [thanhnien_timestamp] INFO: 2026-09-25 06:30:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:30:52 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:30:52 [thanhnien_timestamp] INFO: 2026-09-25 05:54:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:30:54 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:30:54 [thanhnien_timestamp] INFO: 2026-09-25 05:55:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:30:56 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:30:56 [thanhnien_timestamp] INFO: 2026-09-25 05:58:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:30:58 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:30:59 [thanhnien_timestamp] INFO: 2026-09-25 05:39:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:00 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:00 [thanhnien_timestamp] INFO: 2026-09-25 05:45:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:02 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:02 [thanhnien_timestamp] INFO: 2026-09-25 05:45:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:04 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:04 [thanhnien_timestamp] INFO: 2026-09-25 05:52:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:07 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:07 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:09 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:09 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:10 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:11 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:13 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:13 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:15 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:15 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:16 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:16 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:19 [thanhnien_timestamp] INFO: 2026-09-25 06:00:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:31:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:21 [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: Một tài xế xe tải có bằng lái xe nhưng đã bị CSGT tạm giữ gần 6 tháng. Một tài xế xe bồn quá ngày hẹn giải quyết vi phạm hơn 2 tuần vẫn tiếp tục lái xe. Trước đó, tài xế xe khách cũng rơi vào tình huống tương tự. Điểm chung của các trường hợp này là bằng lái đã bị tạm giữ do vi phạm giao thông trước đó, thời hạn ghi trên giấy hẹn đã hết nhưng tài xế chưa đến giải quyết, vẫn tiếp tục điều khiển phương tiện. Tình huống này cũng có thể gặp ở người đi xe máy. Có trường hợp sau khi bị CSGT lập biên bản, tạm giữ xe và bằng lái, người vi phạm không đến giải quyết mà bỏ luôn xe, sau đó mua một chiếc xe cũ khác để tiếp tục đi lại. Nhiều người có thể nghĩ mình đã được cấp bằng lái nên vẫn được chạy xe, nhưng nếu giấy hẹn đã quá hạn mà chưa giải quyết vi phạm cũ, khi tiếp tục điều khiển phương tiện và bị kiểm tra, họ có thể bị xử lý về hành vi không có bằng lái. Đồng thời, vi phạm trước đó vẫn phải được giải quyết theo quy định. Đây cũng là tình huống khiến nhiều người thắc mắc: rõ ràng đã được cấp bằng lái, thậm chí bằng lái vẫn đứng tên mình, vì sao khi CSGT kiểm tra lại bị xử lý về hành vi không có bằng lái? Trường hợp mới đây được Đội CSGT đường bộ cao tốc số 6 (Phòng 6, Cục CSGT) phát hiện trên cao tốc TP.HCM - Long Thành - Dầu Giây. Ngày 20.7, tại trạm thu phí Long Phước, CSGT dừng xe tải do tài xế 49 tuổi, ở TP.HCM điều khiển nhưng tài xế không xuất trình được bằng lái xe. Qua xác minh, CSGT xác định ông H. đã được cấp bằng lái nhưng giấy tờ này đang bị một đơn vị CSGT tạm giữ do vi phạm giao thông trước đó. Theo tài xế, sau khi bị lập biên bản, ông được hẹn đến giải quyết vụ việc sau 7 ngày làm việc. Tuy nhiên, đã quá thời hạn gần 6 tháng, ông vẫn chưa đến làm thủ tục vì chưa đủ tiền nộp phạt. Trong thời gian đó, tài xế vẫn tiếp tục lái xe đi làm. Trước đó, ngày 17.7, cũng tại khu vực trên, CSGT cũng dừng xe bồn do tài xế 47 tuổi, ở Tây Ninh điều khiển. Qua kiểm tra, lực lượng chức năng xác định bằng lái của ông T. đang bị tạm giữ vì một vi phạm trước đó trên cao tốc Trung Lương - Mỹ Thuận. Theo giấy hẹn, đã quá ngày đến hẹn giải quyết nhưng tài xế chưa chấp hành, đồng thời tiếp tục lái xe tham gia giao thông. Cả hai trường hợp trên, mỗi tài xế bị lập biên bản với mức phạt 19 triệu đồng và tạm giữ phương tiện. Doanh nghiệp sở hữu xe cũng bị lập biên bản với mức phạt 58 triệu đồng vì giao phương tiện cho người không đủ điều kiện điều khiển. Mức phạt không có bằng lái xe máy hiện nay là 7 triệu đồng, người giao xe cho người không có bằng lái cũng bị phạt 9 triệu đồng. Ngoài các tình huống trên, với bằng lái ô tô, trường hợp bằng lái đã hết hạn mà tài xế vẫn điều khiển phương tiện cũng được xác định là không có bằng lái theo quy định. Theo CSGT, nhiều người nhầm tưởng rằng chỉ cần mình đã được cấp bằng lái thì dù bằng lái đang bị tạm giữ vẫn có thể tiếp tục điều khiển phương tiện. Khi lập biên bản vi phạm hành chính, CSGT tạm giữ bằng lái và cấp giấy hẹn cho người vi phạm đến giải quyết trong thời hạn 7 ngày làm việc. Trong khoảng thời gian từ khi lập biên bản đến ngày hẹn, người điều khiển phương tiện được sử dụng giấy hẹn thay thế bằng lái để tham gia giao thông theo quy định. Điểm cần đặc biệt lưu ý nằm ở thời hạn trên giấy hẹn. Khi đã quá thời hạn ghi trên giấy mà người vi phạm chưa đến giải quyết, giấy hẹn không còn giá trị. Nếu vẫn tiếp tục điều khiển phương tiện, người vi phạm sẽ bị xử lý về hành vi không có bằng lái. CSGT khuyến cáo sau khi bị lập biên bản, người vi phạm cần theo dõi kỹ thời hạn ghi trên giấy hẹn, chủ động đến nhận quyết định xử phạt và hoàn thành nghĩa vụ nộp phạt đúng quy định. Nếu gặp khó khăn hoặc vướng mắc về thủ tục, người vi phạm nên liên hệ đơn vị đã lập biên bản để được hướng dẫn, tránh để giấy hẹn quá hạn rồi vẫn tiếp tục điều khiển phương tiện. Với các doanh nghiệp vận tải, CSGT lưu ý cần thường xuyên kiểm tra tình trạng bằng lái của tài xế trước khi giao phương tiện. Bởi khi giao xe cho người không đủ điều kiện điều khiển, không chỉ tài xế bị xử lý mà doanh nghiệp cũng có thể phải chịu mức phạt lớn theo quy định."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-09-24 23:31:21 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-09-24 23:31:21 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-09-24 23:31:21 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-09-24 23:31:21 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-09-24 23:31:21 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-09-24 23:31:21 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-09-24 23:31:21 [httpcore.http11] DEBUG: send_request_headers.complete 2026-09-24 23:31:21 [httpcore.http11] DEBUG: send_request_body.started request= 2026-09-24 23:31:21 [httpcore.http11] DEBUG: send_request_body.complete 2026-09-24 23:31:21 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-09-24 23:31:24 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Thu, 24 Sep 2026 23:31:24 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'a405950ccf2c861d-HKG'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'access-control-expose-headers', b'X-Request-ID'), (b'access-control-expose-headers', b'CF-Ray'), (b'Access-Control-Expose-Headers', b'CF-Ray'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'2551'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-openai-proxy-wasm', b'v0.1'), (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'149998525'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_4dab5ecfffeb4ad9af5976adfb0faeb0'), (b'set-cookie', b'__cf_bm=8yWi5063dKMDCXPr.cXhzdBZP3QKR5u93.2yRxo14I0-1790292681.729508-1.0.1.1-f70AEadUR3DGet46pAGRnzkYcWxm9dzdZjtkKNBJiGYfHSi9QVAcLBcv.3Bv_85qxOqa_hD1W3_iA96BoXH.IHx7KElgtWL2zZ_JqIuXXGmu66Ce78O665gNsL_C5bjA; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:01:24 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-09-24 23:31:24 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-09-24 23:31:24 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-09-24 23:31:24 [httpcore.http11] DEBUG: receive_response_body.complete 2026-09-24 23:31:24 [httpcore.http11] DEBUG: response_closed.started 2026-09-24 23:31:24 [httpcore.http11] DEBUG: response_closed.complete 2026-09-24 23:31:24 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Thu, 24 Sep 2026 23:31:24 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('cf-ray', 'a405950ccf2c861d-HKG'), ('cf-cache-status', 'DYNAMIC'), ('server', 'cloudflare'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'X-Request-ID'), ('access-control-expose-headers', 'CF-Ray'), ('access-control-expose-headers', 'CF-Ray'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '2551'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-openai-proxy-wasm', 'v0.1'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149998525'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_4dab5ecfffeb4ad9af5976adfb0faeb0'), ('set-cookie', '__cf_bm=8yWi5063dKMDCXPr.cXhzdBZP3QKR5u93.2yRxo14I0-1790292681.729508-1.0.1.1-f70AEadUR3DGet46pAGRnzkYcWxm9dzdZjtkKNBJiGYfHSi9QVAcLBcv.3Bv_85qxOqa_hD1W3_iA96BoXH.IHx7KElgtWL2zZ_JqIuXXGmu66Ce78O665gNsL_C5bjA; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:01:24 GMT'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2026-09-24 23:31:24 [openai._base_client] DEBUG: request_id: req_4dab5ecfffeb4ad9af5976adfb0faeb0 2026-09-24 23:31:24 [thanhnien_timestamp] INFO: Min timestamp: 2026-09-25 06:10:00, Published timestamp: 2026-09-25 06:15:00 2026-09-24 23:31:24 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-09-24 23:31:41 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 410 2026-09-24 23:31:41 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/co-bang-lai-van-bi-csgt-phat-loi-khong-co-bang-lai-vi-sao-18526092409515873.htm> {'audio_url': 'https://lake-api.blaze.vn/tts-data/vkkzyiwh-2026-09-24%2023%3A31%3A25.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=BLZ4B6CBCE73519431B%2F20260924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260924T233140Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=bb00d773c312e36388abaf0a75f0410caf643463dace9ffac61d1355488ecc30', 'author': None, 'category': 'Đời sống', 'content': 'Một tài xế xe tải có bằng lái xe nhưng đã bị CSGT tạm giữ gần 6 ' 'tháng. Một tài xế xe bồn quá ngày hẹn giải quyết vi phạm hơn 2 ' 'tuần vẫn tiếp tục lái xe. Trước đó, tài xế xe khách cũng rơi vào ' 'tình huống tương tự. Điểm chung của các trường hợp này là bằng ' 'lái đã bị tạm giữ do vi phạm giao thông trước đó, thời hạn ghi ' 'trên giấy hẹn đã hết nhưng tài xế chưa đến giải quyết, vẫn tiếp ' 'tục điều khiển phương tiện. Tình huống này cũng có thể gặp ở ' 'người đi xe máy. Có trường hợp sau khi bị CSGT lập biên bản, tạm ' 'giữ xe và bằng lái, người vi phạm không đến giải quyết mà bỏ luôn ' 'xe, sau đó mua một chiếc xe cũ khác để tiếp tục đi lại. Nhiều ' 'người có thể nghĩ mình đã được cấp bằng lái nên vẫn được chạy xe, ' 'nhưng nếu giấy hẹn đã quá hạn mà chưa giải quyết vi phạm cũ, khi ' 'tiếp tục điều khiển phương tiện và bị kiểm tra, họ có thể bị xử ' 'lý về hành vi không có bằng lái. Đồng thời, vi phạm trước đó vẫn ' 'phải được giải quyết theo quy định. Đây cũng là tình huống khiến ' 'nhiều người thắc mắc: rõ ràng đã được cấp bằng lái, thậm chí bằng ' 'lái vẫn đứng tên mình, vì sao khi CSGT kiểm tra lại bị xử lý về ' 'hành vi không có bằng lái? Trường hợp mới đây được Đội CSGT đường ' 'bộ cao tốc số 6 (Phòng 6, Cục CSGT) phát hiện trên cao tốc TP.HCM ' '- Long Thành - Dầu Giây. Ngày 20.7, tại trạm thu phí Long Phước, ' 'CSGT dừng xe tải do tài xế 49 tuổi, ở TP.HCM điều khiển nhưng tài ' 'xế không xuất trình được bằng lái xe. Qua xác minh, CSGT xác định ' 'ông H. đã được cấp bằng lái nhưng giấy tờ này đang bị một đơn vị ' 'CSGT tạm giữ do vi phạm giao thông trước đó. Theo tài xế, sau khi ' 'bị lập biên bản, ông được hẹn đến giải quyết vụ việc sau 7 ngày ' 'làm việc. Tuy nhiên, đã quá thời hạn gần 6 tháng, ông vẫn chưa ' 'đến làm thủ tục vì chưa đủ tiền nộp phạt. Trong thời gian đó, tài ' 'xế vẫn tiếp tục lái xe đi làm. Trước đó, ngày 17.7, cũng tại khu ' 'vực trên, CSGT cũng dừng xe bồn do tài xế 47 tuổi, ở Tây Ninh ' 'điều khiển. Qua kiểm tra, lực lượng chức năng xác định bằng lái ' 'của ông T. đang bị tạm giữ vì một vi phạm trước đó trên cao tốc ' 'Trung Lương - Mỹ Thuận. Theo giấy hẹn, đã quá ngày đến hẹn giải ' 'quyết nhưng tài xế chưa chấp hành, đồng thời tiếp tục lái xe tham ' 'gia giao thông. Cả hai trường hợp trên, mỗi tài xế bị lập biên ' 'bản với mức phạt 19 triệu đồng và tạm giữ phương tiện. Doanh ' 'nghiệp sở hữu xe cũng bị lập biên bản với mức phạt 58 triệu đồng ' 'vì giao phương tiện cho người không đủ điều kiện điều khiển. Mức ' 'phạt không có bằng lái xe máy hiện nay là 7 triệu đồng, người ' 'giao xe cho người không có bằng lái cũng bị phạt 9 triệu đồng. ' 'Ngoài các tình huống trên, với bằng lái ô tô, trường hợp bằng lái ' 'đã hết hạn mà tài xế vẫn điều khiển phương tiện cũng được xác ' 'định là không có bằng lái theo quy định. Theo CSGT, nhiều người ' 'nhầm tưởng rằng chỉ cần mình đã được cấp bằng lái thì dù bằng lái ' 'đang bị tạm giữ vẫn có thể tiếp tục điều khiển phương tiện. Khi ' 'lập biên bản vi phạm hành chính, CSGT tạm giữ bằng lái và cấp ' 'giấy hẹn cho người vi phạm đến giải quyết trong thời hạn 7 ngày ' 'làm việc. Trong khoảng thời gian từ khi lập biên bản đến ngày ' 'hẹn, người điều khiển phương tiện được sử dụng giấy hẹn thay thế ' 'bằng lái để tham gia giao thông theo quy định. Điểm cần đặc biệt ' 'lưu ý nằm ở thời hạn trên giấy hẹn. Khi đã quá thời hạn ghi trên ' 'giấy mà người vi phạm chưa đến giải quyết, giấy hẹn không còn giá ' 'trị. Nếu vẫn tiếp tục điều khiển phương tiện, người vi phạm sẽ bị ' 'xử lý về hành vi không có bằng lái. CSGT khuyến cáo sau khi bị ' 'lập biên bản, người vi phạm cần theo dõi kỹ thời hạn ghi trên ' 'giấy hẹn, chủ động đến nhận quyết định xử phạt và hoàn thành ' 'nghĩa vụ nộp phạt đúng quy định. Nếu gặp khó khăn hoặc vướng mắc ' 'về thủ tục, người vi phạm nên liên hệ đơn vị đã lập biên bản để ' 'được hướng dẫn, tránh để giấy hẹn quá hạn rồi vẫn tiếp tục điều ' 'khiển phương tiện. Với các doanh nghiệp vận tải, CSGT lưu ý cần ' 'thường xuyên kiểm tra tình trạng bằng lái của tài xế trước khi ' 'giao phương tiện. Bởi khi giao xe cho người không đủ điều kiện ' 'điều khiển, không chỉ tài xế bị xử lý mà doanh nghiệp cũng có thể ' 'phải chịu mức phạt lớn theo quy định.', 'description': 'Đã được cấp bằng lái nhưng giấy phép đang bị CSGT tạm giữ, ' 'quá ngày hẹn vẫn chưa đến giải quyết vi phạm mà tiếp tục lái ' 'xe, tài xế bị xử lý ra sao?', 'html_content': '

Một tài ' 'xế xe tải có bằng lái xe nhưng đã bị CSGT tạm giữ ' 'gần 6 tháng. Một tài xế xe bồn quá ngày hẹn giải quyết vi ' 'phạm hơn 2 tuần vẫn tiếp tục lái xe. Trước đó, tài xế xe ' 'khách cũng rơi vào tình huống tương tự.

Có bằng '
                 'lái vẫn bị CSGT phạt lỗi không có bằng lái trong trường hợp '
                 'nào? - Ảnh 1.

Bằng lái bị CSGT tạm giữ để lập biên bản, nếu quá hạn ' 'vẫn không đến giải quyết sẽ bị lập biên bản lỗi không có ' 'bằng lái

ẢNH: VŨ ' 'PHƯỢNG

Điểm chung của các ' 'trường hợp này là bằng lái ' 'đã bị tạm giữ do vi phạm giao thông trước đó, thời hạn ghi ' 'trên giấy hẹn đã hết nhưng tài xế chưa đến giải quyết, vẫn ' 'tiếp tục điều khiển phương tiện.

Bỏ bằng lái ' 'xe có "thoát phạt"?

Tình huống này cũng có ' 'thể gặp ở người đi xe máy. Có trường hợp sau khi bị CSGT lập ' 'biên bản, tạm giữ xe và bằng lái, người vi phạm không đến ' 'giải quyết mà bỏ luôn xe, sau đó mua một chiếc xe cũ khác để ' 'tiếp tục đi lại.

Nhiều người có thể nghĩ ' 'mình đã được cấp bằng lái nên vẫn được chạy xe, nhưng nếu ' 'giấy hẹn đã quá hạn mà chưa giải quyết vi phạm cũ, khi tiếp ' 'tục điều khiển phương tiện và bị kiểm tra, họ có thể bị xử ' 'lý về hành vi không có bằng lái. Đồng thời, vi phạm trước đó ' 'vẫn phải được giải quyết theo quy định.

Đây ' 'cũng là tình huống khiến nhiều người thắc mắc: rõ ràng đã ' 'được cấp bằng lái, thậm chí bằng lái vẫn đứng tên mình, vì ' 'sao khi CSGT kiểm tra lại bị xử ' 'lý về hành vi không có bằng lái?

Có bằng '
                 'lái vẫn bị CSGT phạt lỗi không có bằng lái trong trường hợp '
                 'nào? - Ảnh 2.

Nếu phát hiện tài xế không có bằng lái, CSGT ' 'sẽ truy cả trách nhiệm của người giao ' 'xe

ẢNH: ' 'VŨ

Trường hợp mới đây được Đội ' 'CSGT đường bộ cao tốc số 6 (Phòng 6, Cục CSGT) phát hiện ' 'trên cao tốc TP.HCM - Long Thành - Dầu Giây.

Ngày 20.7, tại trạm thu phí Long Phước, CSGT dừng ' 'xe tải do tài xế 49 tuổi, ở TP.HCM điều khiển nhưng tài xế ' 'không xuất trình được bằng lái xe. Qua xác minh, CSGT xác ' 'định ông H. đã được cấp bằng lái nhưng giấy tờ này đang bị ' 'một đơn vị CSGT tạm giữ do vi phạm giao thông trước ' 'đó.

Theo tài xế, sau khi bị lập biên bản, ông ' 'được hẹn đến giải quyết vụ việc sau 7 ngày làm việc. Tuy ' 'nhiên, đã quá thời hạn gần 6 tháng, ông vẫn chưa đến làm thủ ' 'tục vì chưa đủ tiền nộp phạt. Trong thời gian đó, tài xế vẫn ' 'tiếp tục lái xe đi làm.

Trước đó, ngày 17.7, ' 'cũng tại khu vực trên, CSGT cũng dừng xe bồn do tài xế 47 ' 'tuổi, ở Tây Ninh điều khiển. Qua kiểm tra, lực lượng chức ' 'năng xác định bằng lái của ông T. đang bị tạm giữ vì một vi ' 'phạm trước đó trên cao tốc Trung Lương - Mỹ Thuận.

Theo giấy hẹn, đã quá ngày đến hẹn giải quyết nhưng ' 'tài xế chưa chấp hành, đồng thời tiếp tục lái xe tham gia ' 'giao thông.

Cả hai trường hợp trên, mỗi tài ' 'xế bị lập biên bản với mức phạt 19 triệu đồng và tạm giữ ' 'phương tiện. Doanh nghiệp sở hữu xe cũng bị lập biên bản với ' 'mức phạt 58 triệu đồng vì giao phương tiện cho người không ' 'đủ điều kiện điều khiển.

Mức phạt không có ' 'bằng lái xe máy hiện nay là 7 triệu đồng, người giao xe cho ' 'người không có bằng lái cũng bị phạt 9 triệu đồng.

Ngoài các tình huống trên, với bằng lái ô tô, ' 'trường hợp bằng lái đã hết hạn mà tài xế vẫn điều khiển ' 'phương tiện cũng được xác định là không có bằng lái theo quy ' 'định.

Giấy hẹn không có giá trị vô thời ' 'hạn

Theo CSGT, nhiều người nhầm tưởng rằng ' 'chỉ cần mình đã được cấp bằng lái thì dù bằng lái đang bị ' 'tạm giữ vẫn có thể tiếp tục điều khiển phương tiện. Khi lập ' 'biên bản vi phạm hành chính, CSGT tạm giữ bằng lái và cấp ' 'giấy hẹn cho người vi phạm đến giải quyết trong thời hạn 7 ' 'ngày làm việc.

Trong khoảng thời gian từ khi ' 'lập biên bản đến ngày hẹn, người điều khiển phương tiện được ' 'sử dụng giấy hẹn thay thế bằng lái để tham gia giao thông ' 'theo quy định.

Có bằng '
                 'lái vẫn bị CSGT phạt lỗi không có bằng lái trong trường hợp '
                 'nào? - Ảnh 3.

Mức phạt tài xế ô tô không có bằng lái là 19 ' 'triệu, doanh nghiệp giao xe cho người không đủ điều kiện là ' '58 triệu

ẢNH: VŨ ' 'PHƯỢNG

Điểm cần đặc biệt lưu ý ' 'nằm ở thời hạn trên giấy hẹn. Khi đã quá thời hạn ghi trên ' 'giấy mà người vi phạm chưa đến giải quyết, giấy hẹn không ' 'còn giá trị. Nếu vẫn tiếp tục điều khiển phương tiện, người ' 'vi phạm sẽ bị xử lý về hành vi không có bằng lái.

CSGT khuyến cáo sau khi bị lập biên bản, người vi ' 'phạm cần theo dõi kỹ thời hạn ghi trên giấy hẹn, chủ động ' 'đến nhận quyết định xử phạt và hoàn thành nghĩa vụ nộp phạt ' 'đúng quy định.

Nếu gặp khó khăn hoặc ' 'vướng mắc về thủ tục, người vi phạm nên liên hệ đơn vị đã ' 'lập biên bản để được hướng dẫn, tránh để giấy hẹn quá hạn ' 'rồi vẫn tiếp tục điều khiển phương tiện.

Với ' 'các doanh nghiệp vận tải, CSGT lưu ý cần thường xuyên kiểm ' 'tra tình trạng bằng lái của tài xế trước khi giao phương ' 'tiện. Bởi khi giao xe cho người không đủ điều kiện điều ' 'khiển, không chỉ tài xế bị xử lý mà doanh nghiệp cũng có thể ' 'phải chịu mức phạt lớn theo quy định.

\n' ' \n' '\n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
', 'md_content': 'Một tài xế xe tải có [bằng ' 'lái](https://thanhnien.vn/bang-lai.html "Bằng lái") xe nhưng ' 'đã bị CSGT tạm giữ gần 6 tháng. Một tài xế xe bồn quá ngày hẹn ' 'giải quyết vi phạm hơn 2 tuần vẫn tiếp tục lái xe. Trước đó, ' 'tài xế xe khách cũng rơi vào tình huống tương tự. \n' '\n' '![Có bằng lái vẫn bị CSGT phạt lỗi không có bằng lái trong ' 'trường hợp nào? - Ảnh ' '1.](https://images2.thanhnien.vn/528068263637045248/2026/9/24/tnw-khong-co-bang-lai-csgt-vu-phuong-1-17902179924791779993600-1790218326631827811615.jpg)Bằng ' 'lái bị CSGT tạm giữ để lập biên bản, nếu quá hạn vẫn không đến ' 'giải quyết sẽ bị lập biên bản lỗi không có bằng lái\n' '\n' 'ẢNH: VŨ PHƯỢNG\n' '\n' 'Điểm chung của các trường hợp này là [bằng ' 'lái](https://thanhnien.vn/tu-ngay-308-tphcm-dung-4-diem-doi-giay-phep-lai-xe-lam-o-dau-thuan-tien-nhat-185260826211117609.htm ' '"Từ ngày 30.8, TP.HCM dừng 4 điểm đổi giấy phép lái xe: Làm ở ' 'đâu thuận tiện nhất?") đã bị tạm giữ do vi phạm giao thông ' 'trước đó, thời hạn ghi trên giấy hẹn đã hết nhưng tài xế chưa ' 'đến giải quyết, vẫn tiếp tục điều khiển phương tiện.\n' '\n' '## Bỏ bằng lái xe có "thoát phạt"?\n' '\n' 'Tình huống này cũng có thể gặp ở người đi xe máy. Có trường ' 'hợp sau khi bị CSGT lập biên bản, tạm giữ xe và bằng lái, ' 'người vi phạm không đến giải quyết mà bỏ luôn xe, sau đó mua ' 'một chiếc xe cũ khác để tiếp tục đi lại. \n' '\n' 'Nhiều người có thể nghĩ mình đã được cấp bằng lái nên vẫn được ' 'chạy xe, nhưng nếu giấy hẹn đã quá hạn mà chưa giải quyết vi ' 'phạm cũ, khi tiếp tục điều khiển phương tiện và bị kiểm tra, ' 'họ có thể bị xử lý về hành vi không có bằng lái. Đồng thời, vi ' 'phạm trước đó vẫn phải được giải quyết theo quy định.\n' '\n' 'Đây cũng là tình huống khiến nhiều người thắc mắc: rõ ràng đã ' 'được cấp bằng lái, thậm chí bằng lái vẫn đứng tên mình, vì sao ' 'khi ' '[CSGT](https://thanhnien.vn/csgt-xac-minh-vu-viec-nhieu-xe-may-te-nga-vi-bun-dat-tren-duong-cong-hoa-185260922105113041.htm ' '"CSGT") kiểm tra lại bị xử lý về hành vi không có bằng lái?\n' '\n' '![Có bằng lái vẫn bị CSGT phạt lỗi không có bằng lái trong ' 'trường hợp nào? - Ảnh ' '2.](https://images2.thanhnien.vn/528068263637045248/2026/9/24/tnw-edit-khong-co-bang-lai-csgt-vu-phuong-2-17902181079251222222835-17902183266311857698388.jpeg)Nếu ' 'phát hiện tài xế không có bằng lái, CSGT sẽ truy cả trách ' 'nhiệm của người giao xe\n' '\n' 'ẢNH: VŨ\n' '\n' 'Trường hợp mới đây được Đội CSGT đường bộ cao tốc số 6 (Phòng ' '6, Cục CSGT) phát hiện trên cao tốc TP.HCM - Long Thành - Dầu ' 'Giây.\n' '\n' 'Ngày 20.7, tại trạm thu phí Long Phước, CSGT dừng xe tải do ' 'tài xế 49 tuổi, ở TP.HCM điều khiển nhưng tài xế không xuất ' 'trình được bằng lái xe. Qua xác minh, CSGT xác định ông H. đã ' 'được cấp bằng lái nhưng giấy tờ này đang bị một đơn vị CSGT ' 'tạm giữ do vi phạm giao thông trước đó.\n' '\n' 'Theo tài xế, sau khi bị lập biên bản, ông được hẹn đến giải ' 'quyết vụ việc sau 7 ngày làm việc. Tuy nhiên, đã quá thời hạn ' 'gần 6 tháng, ông vẫn chưa đến làm thủ tục vì chưa đủ tiền nộp ' 'phạt. Trong thời gian đó, tài xế vẫn tiếp tục lái xe đi làm.\n' '\n' 'Trước đó, ngày 17.7, cũng tại khu vực trên, CSGT cũng dừng xe ' 'bồn do tài xế 47 tuổi, ở Tây Ninh điều khiển. Qua kiểm tra, ' 'lực lượng chức năng xác định bằng lái của ông T. đang bị tạm ' 'giữ vì một vi phạm trước đó trên cao tốc Trung Lương - Mỹ ' 'Thuận. \n' '\n' '\n' 'Theo giấy hẹn, đã quá ngày đến hẹn giải quyết nhưng tài xế ' 'chưa chấp hành, đồng thời tiếp tục lái xe tham gia giao ' 'thông.\n' '\n' 'Cả hai trường hợp trên, mỗi tài xế bị lập biên bản với mức ' 'phạt 19 triệu đồng và tạm giữ phương tiện. Doanh nghiệp sở hữu ' 'xe cũng bị lập biên bản với mức phạt 58 triệu đồng vì giao ' 'phương tiện cho người không đủ điều kiện điều khiển. \n' '\n' 'Mức phạt không có bằng lái xe máy hiện nay là 7 triệu đồng, ' 'người giao xe cho người không có bằng lái cũng bị phạt 9 triệu ' 'đồng.\n' '\n' 'Ngoài các tình huống trên, với bằng lái ô tô, trường hợp bằng ' 'lái đã hết hạn mà tài xế vẫn điều khiển phương tiện cũng được ' 'xác định là không có bằng lái theo quy định.\n' '\n' '## Giấy hẹn không có giá trị vô thời hạn\n' '\n' 'Theo CSGT, nhiều người nhầm tưởng rằng chỉ cần mình đã được ' 'cấp bằng lái thì dù bằng lái đang bị tạm giữ vẫn có thể tiếp ' 'tục điều khiển phương tiện. Khi lập biên bản vi phạm hành ' 'chính, CSGT tạm giữ bằng lái và cấp giấy hẹn cho người vi phạm ' 'đến giải quyết trong thời hạn 7 ngày làm việc.\n' '\n' 'Trong khoảng thời gian từ khi lập biên bản đến ngày hẹn, người ' 'điều khiển phương tiện được sử dụng giấy hẹn thay thế bằng lái ' 'để tham gia giao thông theo quy định.\n' '\n' '![Có bằng lái vẫn bị CSGT phạt lỗi không có bằng lái trong ' 'trường hợp nào? - Ảnh ' '3.](https://images2.thanhnien.vn/528068263637045248/2026/9/24/tnw-edit-khong-co-bang-lai-csgt-vu-phuong-3-17902182630591547720346-17902183266311558549973.jpeg)Mức ' 'phạt tài xế ô tô không có bằng lái là 19 triệu, doanh nghiệp ' 'giao xe cho người không đủ điều kiện là 58 triệu\n' '\n' 'ẢNH: VŨ PHƯỢNG\n' '\n' 'Điểm cần đặc biệt lưu ý nằm ở thời hạn trên giấy hẹn. Khi đã ' 'quá thời hạn ghi trên giấy mà người vi phạm chưa đến giải ' 'quyết, giấy hẹn không còn giá trị. Nếu vẫn tiếp tục điều khiển ' 'phương tiện, người vi phạm sẽ bị xử lý về hành vi không có ' 'bằng lái.\n' '\n' 'CSGT khuyến cáo sau khi bị lập biên bản, người vi phạm cần ' 'theo dõi kỹ thời hạn ghi trên giấy hẹn, chủ động đến nhận ' 'quyết định xử phạt và hoàn thành nghĩa vụ nộp phạt đúng quy ' 'định. \n' '\n' '\n' 'Nếu gặp khó khăn hoặc vướng mắc về thủ tục, người vi phạm nên ' 'liên hệ đơn vị đã lập biên bản để được hướng dẫn, tránh để ' 'giấy hẹn quá hạn rồi vẫn tiếp tục điều khiển phương tiện.\n' '\n' 'Với các doanh nghiệp vận tải, CSGT lưu ý cần thường xuyên kiểm ' 'tra tình trạng bằng lái của tài xế trước khi giao phương tiện. ' 'Bởi khi giao xe cho người không đủ điều kiện điều khiển, không ' 'chỉ tài xế bị xử lý mà doanh nghiệp cũng có thể phải chịu mức ' 'phạt lớn theo quy định.\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' ' function tnDetailInsertMidArticleWidget(rootSelector, ' 'widgetId) {\n' ' var root = document.querySelector(rootSelector);\n' ' if (!root) return null;\n' ' var contentRoot = ' 'root.querySelector(\'[data-role="content"]\') || root;\n' '\n' ' var blocks = Array.from(contentRoot.children).filter(function ' '(el) {\n' ' if (el.id === widgetId) return false;\n' " if (el.hasAttribute('data-check-position')) return false;\n" " if (el.hasAttribute('data-type')) return false;\n" ' if ' '(/^(SCRIPT|STYLE|TEMPLATE|LINK|NOSCRIPT)$/.test(el.tagName)) ' 'return false;\n' " if (el.tagName === 'P' && !el.textContent.trim()) return " 'false;\n' ' return el.getClientRects().length > 0;\n' ' });\n' ' if (!blocks.length) return null;\n' '\n' ' var rootRect = contentRoot.getBoundingClientRect();\n' ' var idx;\n' ' if (rootRect.height > 0) {\n' ' var midY = rootRect.top + rootRect.height / 2;\n' ' for (idx = 0; idx < blocks.length; idx++) {\n' ' if (blocks[idx].getBoundingClientRect().bottom >= midY) ' 'break;\n' ' }\n' ' if (idx >= blocks.length) idx = blocks.length - 1;\n' ' } else {\n' ' idx = Math.floor(blocks.length / 2);\n' ' }\n' '\n' ' var target = blocks[idx];\n' " var isMedia = target.tagName === 'FIGURE' || " "target.classList.contains('VCSortableInPreviewMode');\n" '\n' " var newDiv = document.createElement('div');\n" ' newDiv.id = widgetId;\n' ' contentRoot.insertBefore(newDiv, isMedia ? target : ' 'target.nextSibling);\n' ' return newDiv;\n' ' }\n' '\n' ' function tnOnReady(fn) {\n' " if (document.readyState !== 'loading') fn();\n" " else document.addEventListener('DOMContentLoaded', fn, { " 'once: true });\n' ' }\n' ' \n' '\n' ' (function () {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' ' if (laNuocNgoai) return;\n' ' tnOnReady(function () {\n' ' var pernewDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'tn\\_detail\\_foryou1\\_pc\\_per');\n" ' if (!pernewDiv) return;\n' '\n' ' ' "loadJsAsync('https://js.aiservice.vn/rec/tn\\_detail\\_foryou1\\_pc\\_per.js', " 'function(){}, function() {\n' ' ' "window.boxTNRecs.err.push('rec/tn\\_detail\\_foryou1\\_pc\\_per.js');\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;\n' '\n' ' tnOnReady(function () {\n' ' var newDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'taboola-mid-article-widget');\n" ' if (!newDiv) return;\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(2026, 9, 25), 'published_timestamp': datetime.datetime(2026, 9, 25, 6, 15), 'source': 'ThanhNien', 'tags': ['Tài xế xe tải', 'Bằng lái xe', 'CSGT', 'Vi phạm giao thông', 'Tạm giữ bằng lái', 'Giấy hẹn', 'Điều khiển phương tiện', 'Xử lý vi phạm', 'Mức phạt', 'Doanh nghiệp vận tải', 'Thời hạn giấy hẹn', 'Kiểm tra tình trạng bằng lái', 'Hành vi không có bằng lái', 'Thủ tục xử phạt', 'Giao xe không đủ điều kiện'], 'title': 'Có bằng lái vẫn bị CSGT phạt lỗi không có bằng lái, vì sao?', 'url': 'https://thanhnien.vn/co-bang-lai-van-bi-csgt-phat-loi-khong-co-bang-lai-vi-sao-18526092409515873.htm', 'voice': 'HN-Nu-2-BL'} 2026-09-24 23:31:41 [scrapy.extensions.logstats] INFO: Crawled 19 pages (at 19 pages/min), scraped 1 items (at 1 items/min) 2026-09-24 23:31:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31: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: Các nhà khoa học Trung Quốc từ các Trường đại học Phúc Đán, Đại học Nam Kinh, Đại học Gia Hưng, đã phân tích và tổng hợp dữ liệu của 124 thử nghiệm, bao gồm 18.429 người tham gia, ở độ tuổi từ 40 trở lên, nhằm tìm hiểu xem bài tập nào mang lại hiệu quả cao nhất để củng cố khung xương vững chắc khi về già cho người lớn tuổi vốn có hệ xương khớp suy yếu. Các tác giả đã phân tích hiệu quả của các bài tập khác nhau đối với mật độ khoáng của xương, từ đó tìm ra đâu là bài tập tốt nhất giúp ngăn ngừa loãng xương cho người lớn tuổi. Kết quả đã phát hiện hóa ra đi bộ nhanh là bài tập có hiệu quả vượt trội nhất trong việc tăng cường sức mạnh xương cho người lớn tuổi, theo trang tin khoa học ScienceAlert . Ngoài ra, chạy bộ chậm cũng cho kết quả tương tự. Họ cũng phát hiện ra rằng hiệu quả bắt đầu phát huy tác dụng ở mức từ khoảng 2 - 3 giờ đi bộ nhanh hoặc chạy bộ mỗi tuần. Ngoài ra, kết hợp giữa tập thể dục nhịp điệu và rèn luyện sức bền cũng đạt điểm số cao, nhưng tác động ở ít vùng xương hơn. Các nhà nghiên cứu giải thích rằng việc suy giảm mật độ khoáng chất xương theo tuổi tác gắn liền với việc giảm độ chắc khỏe của xương và tăng nguy cơ gãy xương. Đi bộ nhanh hoặc chạy bộ chậm đóng vai trò như một liệu pháp dễ dàng, không tốn kém, giúp giảm tình trạng suy giảm mật độ khoáng chất xương do tuổi tác tại cột sống thắt lưng, cổ xương đùi và toàn bộ vùng hông. Các tác giả kết luận hai bài tập trên là hiệu quả nhất trong việc giảm thiểu sự suy giảm mật độ khoáng của xương, bảo vệ người lớn tuổi khỏi nguy cơ chấn thương gãy xương và biến chứng nguy hiểm."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-09-24 23:31:41 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-09-24 23:31:41 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-09-24 23:31:41 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-09-24 23:31:41 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-09-24 23:31:41 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-09-24 23:31:41 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-09-24 23:31:41 [httpcore.http11] DEBUG: send_request_headers.complete 2026-09-24 23:31:41 [httpcore.http11] DEBUG: send_request_body.started request= 2026-09-24 23:31:41 [httpcore.http11] DEBUG: send_request_body.complete 2026-09-24 23:31:41 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-09-24 23:31:43 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Thu, 24 Sep 2026 23:31:43 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'a4059588d9ed06f0-HKG'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'access-control-expose-headers', b'X-Request-ID'), (b'access-control-expose-headers', b'CF-Ray'), (b'Access-Control-Expose-Headers', b'CF-Ray'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'1777'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-openai-proxy-wasm', b'v0.1'), (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'149999345'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_7d184db46e114b97a8ddf6f10e9fa89e'), (b'set-cookie', b'__cf_bm=DBdNHi99jxcvquJidfK0sGow8m682ais1QqeWu8RwYU-1790292701.571192-1.0.1.1-pp6Sfo1Uw0hMA6V07ir_awUb7GoW43kV3zC54PlOCLjiDPThIkHq1VqBLtwpnQm6e4_bfD3Bk9tDVKbJma_042m34Ydr22sogK5ndUnTRIQcCAQAUwmHp0WxijkCK_7G; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:01:43 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-09-24 23:31:43 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-09-24 23:31:43 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-09-24 23:31:43 [httpcore.http11] DEBUG: receive_response_body.complete 2026-09-24 23:31:43 [httpcore.http11] DEBUG: response_closed.started 2026-09-24 23:31:43 [httpcore.http11] DEBUG: response_closed.complete 2026-09-24 23:31:43 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Thu, 24 Sep 2026 23:31:43 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('cf-ray', 'a4059588d9ed06f0-HKG'), ('cf-cache-status', 'DYNAMIC'), ('server', 'cloudflare'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'X-Request-ID'), ('access-control-expose-headers', 'CF-Ray'), ('access-control-expose-headers', 'CF-Ray'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '1777'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-openai-proxy-wasm', 'v0.1'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149999345'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_7d184db46e114b97a8ddf6f10e9fa89e'), ('set-cookie', '__cf_bm=DBdNHi99jxcvquJidfK0sGow8m682ais1QqeWu8RwYU-1790292701.571192-1.0.1.1-pp6Sfo1Uw0hMA6V07ir_awUb7GoW43kV3zC54PlOCLjiDPThIkHq1VqBLtwpnQm6e4_bfD3Bk9tDVKbJma_042m34Ydr22sogK5ndUnTRIQcCAQAUwmHp0WxijkCK_7G; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:01:43 GMT'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2026-09-24 23:31:43 [openai._base_client] DEBUG: request_id: req_7d184db46e114b97a8ddf6f10e9fa89e 2026-09-24 23:31:43 [thanhnien_timestamp] INFO: Min timestamp: 2026-09-25 06:10:00, Published timestamp: 2026-09-25 06:16:00 2026-09-24 23:31:43 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-09-24 23:31:53 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 408 2026-09-24 23:31:53 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/di-bo-the-duc-them-tin-vui-cho-nguoi-lon-tuoi-185260925062120863.htm> {'audio_url': 'https://lake-api.blaze.vn/tts-data/gtjbujvq-2026-09-24%2023%3A31%3A43.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=BLZ4B6CBCE73519431B%2F20260924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260924T233152Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=e2b8b6ffa12b113c308c3f38bcf86a69acefeb7bfc77d17f16111f00deebc0b9', 'author': None, 'category': 'Sức khỏe', 'content': 'Các nhà khoa học Trung Quốc từ các Trường đại học Phúc Đán, Đại ' 'học Nam Kinh, Đại học Gia Hưng, đã phân tích và tổng hợp dữ liệu ' 'của 124 thử nghiệm, bao gồm 18.429 người tham gia, ở độ tuổi từ ' '40 trở lên, nhằm tìm hiểu xem bài tập nào mang lại hiệu quả cao ' 'nhất để củng cố khung xương vững chắc khi về già cho người lớn ' 'tuổi vốn có hệ xương khớp suy yếu. Các tác giả đã phân tích hiệu ' 'quả của các bài tập khác nhau đối với mật độ khoáng của xương, từ ' 'đó tìm ra đâu là bài tập tốt nhất giúp ngăn ngừa loãng xương cho ' 'người lớn tuổi. Kết quả đã phát hiện hóa ra đi bộ nhanh là bài ' 'tập có hiệu quả vượt trội nhất trong việc tăng cường sức mạnh ' 'xương cho người lớn tuổi, theo trang tin khoa học ScienceAlert . ' 'Ngoài ra, chạy bộ chậm cũng cho kết quả tương tự. Họ cũng phát ' 'hiện ra rằng hiệu quả bắt đầu phát huy tác dụng ở mức từ khoảng 2 ' '- 3 giờ đi bộ nhanh hoặc chạy bộ mỗi tuần. Ngoài ra, kết hợp giữa ' 'tập thể dục nhịp điệu và rèn luyện sức bền cũng đạt điểm số cao, ' 'nhưng tác động ở ít vùng xương hơn. Các nhà nghiên cứu giải thích ' 'rằng việc suy giảm mật độ khoáng chất xương theo tuổi tác gắn ' 'liền với việc giảm độ chắc khỏe của xương và tăng nguy cơ gãy ' 'xương. Đi bộ nhanh hoặc chạy bộ chậm đóng vai trò như một liệu ' 'pháp dễ dàng, không tốn kém, giúp giảm tình trạng suy giảm mật độ ' 'khoáng chất xương do tuổi tác tại cột sống thắt lưng, cổ xương ' 'đùi và toàn bộ vùng hông. Các tác giả kết luận hai bài tập trên ' 'là hiệu quả nhất trong việc giảm thiểu sự suy giảm mật độ khoáng ' 'của xương, bảo vệ người lớn tuổi khỏi nguy cơ chấn thương gãy ' 'xương và biến chứng nguy hiểm.', 'description': 'Đi bộ là bài tập cường độ thấp, giúp tăng cường sức khỏe tim ' 'mạch, hỗ trợ kiểm soát cân nặng và cải thiện tinh thần. ' 'Nghiên cứu mới trên BMJ còn phát hiện thêm lợi ích đáng mừng, ' 'đặc biệt với người lớn tuổi.', 'html_content': '

Các nhà khoa học ' 'Trung Quốc từ các Trường đại học Phúc Đán, Đại học Nam Kinh, ' 'Đại học Gia Hưng, đã phân tích và tổng hợp dữ liệu của 124 ' 'thử nghiệm, bao gồm 18.429 người tham gia, ở độ tuổi từ 40 ' 'trở lên, nhằm tìm hiểu xem bài tập nào mang lại hiệu quả cao ' 'nhất để củng cố khung xương vững chắc khi về già cho người lớn tuổi ' 'vốn có hệ xương khớp suy yếu.

Các tác giả ' 'đã phân tích hiệu quả của các bài tập khác nhau đối với mật ' 'độ khoáng của xương, từ đó tìm ra đâu là bài tập tốt nhất ' 'giúp ngăn ngừa loãng ' 'xương cho người lớn tuổi.

Đi bộ thể '
                 'dục: Thêm tin vui cho người lớn tuổi - Ảnh 1.

Đi bộ nhanh là bài tập ' 'có hiệu quả vượt trội nhất trong việc tăng cường sức mạnh ' 'xương cho người lớn tuổi

Ảnh: P.H tạo từ ' 'AI


Đi bộ nhanh\xa0có hiệu ' 'quả vượt trội

Kết quả đã phát hiện hóa ra đi bộ ' 'nhanh là bài tập có hiệu quả vượt trội nhất trong việc ' 'tăng cường sức mạnh xương cho người lớn tuổi, theo trang tin ' 'khoa học ScienceAlert.

Ngoài ra, chạy bộ chậm ' 'cũng cho kết quả tương tự.

Họ cũng phát hiện ra rằng ' 'hiệu quả bắt đầu phát huy tác dụng ở mức từ khoảng 2 - 3 giờ ' 'đi bộ nhanh hoặc chạy bộ mỗi tuần.

Ngoài ra, kết hợp ' 'giữa tập thể dục nhịp điệu và rèn luyện sức bền cũng đạt ' 'điểm số cao, nhưng tác động ở ít vùng xương hơn.

Các ' 'nhà nghiên cứu giải thích rằng việc suy giảm mật độ khoáng ' 'chất xương theo tuổi tác gắn liền với việc giảm độ chắc khỏe ' 'của xương và tăng nguy cơ gãy xương. Đi bộ nhanh hoặc chạy ' 'bộ chậm đóng vai trò như một liệu pháp dễ dàng, không tốn ' 'kém, giúp giảm tình trạng suy giảm mật độ khoáng chất xương ' 'do tuổi tác tại cột sống thắt lưng, cổ xương đùi và toàn bộ ' 'vùng hông.

Các tác giả kết luận hai bài tập trên là ' 'hiệu quả nhất trong việc giảm thiểu sự suy giảm mật độ ' 'khoáng của xương, bảo vệ người lớn tuổi khỏi nguy cơ chấn ' 'thương gãy xương và biến chứng nguy hiểm.

\n' ' \n' '\n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
', 'md_content': 'Các nhà khoa học Trung Quốc từ các Trường đại học Phúc Đán, ' 'Đại học Nam Kinh, Đại học Gia Hưng, đã phân tích và tổng hợp ' 'dữ liệu của 124 thử nghiệm, bao gồm 18.429 người tham gia, ở ' 'độ tuổi từ 40 trở lên, nhằm tìm hiểu xem bài tập nào mang lại ' 'hiệu quả cao nhất để củng cố khung xương vững chắc khi về già ' 'cho [người lớn tuổi](https://thanhnien.vn/nguoi-lon-tuoi.html ' '"Người lớn tuổi") vốn có hệ [xương ' 'khớp](https://thanhnien.vn/xuong-khop.html "xương khớp") suy ' 'yếu.\n' '\n' 'Các tác giả đã phân tích hiệu quả của các bài tập khác nhau ' 'đối với mật độ khoáng của xương, từ đó tìm ra đâu là bài tập ' 'tốt nhất giúp ngăn ngừa [loãng ' 'xương](https://thanhnien.vn/5-bai-tap-tot-nhat-cho-nguoi-loang-xuong-185250529161810997.htm ' '"loãng xương") cho người lớn tuổi.\n' '\n' '![Đi bộ thể dục: Thêm tin vui cho người lớn tuổi - Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2026/9/24/di-bo-nhanh-1790291635480556883386.png)Đi ' 'bộ nhanh là bài tập có hiệu quả vượt trội nhất trong việc tăng ' 'cường sức mạnh xương cho người lớn tuổi\n' '\n' 'Ảnh: P.H tạo từ AI\n' '\n' ' \n' '\n' '\n' '## Đi bộ nhanh\xa0có hiệu quả vượt trội\n' '\n' 'Kết quả đã phát hiện hóa ra [đi bộ ' 'nhanh](https://thanhnien.vn/sau-tuoi-50-di-bo-nhanh-hay-cham-tot-hon-185260316181428193.htm ' '"đi bộ nhanh") là bài tập có hiệu quả vượt trội nhất trong ' 'việc tăng cường sức mạnh xương cho người lớn tuổi, theo trang ' 'tin khoa học *ScienceAlert*.\n' '\n' 'Ngoài ra, chạy bộ chậm cũng cho kết quả tương tự. \n' '\n' 'Họ cũng phát hiện ra rằng hiệu quả bắt đầu phát huy tác dụng ở ' 'mức từ khoảng 2 - 3 giờ đi bộ nhanh hoặc chạy bộ mỗi tuần.\n' '\n' 'Ngoài ra, kết hợp giữa tập thể dục nhịp điệu và rèn luyện sức ' 'bền cũng đạt điểm số cao, nhưng tác động ở ít vùng xương ' 'hơn. \n' '\n' 'Các nhà nghiên cứu giải thích rằng việc suy giảm mật độ khoáng ' 'chất xương theo tuổi tác gắn liền với việc giảm độ chắc khỏe ' 'của xương và tăng nguy cơ gãy xương. Đi bộ nhanh hoặc chạy bộ ' 'chậm đóng vai trò như một liệu pháp dễ dàng, không tốn kém, ' 'giúp giảm tình trạng suy giảm mật độ khoáng chất xương do tuổi ' 'tác tại cột sống thắt lưng, cổ xương đùi và toàn bộ vùng ' 'hông.\n' '\n' 'Các tác giả kết luận hai bài tập trên là hiệu quả nhất trong ' 'việc giảm thiểu sự suy giảm mật độ khoáng của xương, bảo vệ ' 'người lớn tuổi khỏi nguy cơ chấn thương gãy xương và biến ' 'chứng nguy hiểm.\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' ' function tnDetailInsertMidArticleWidget(rootSelector, ' 'widgetId) {\n' ' var root = document.querySelector(rootSelector);\n' ' if (!root) return null;\n' ' var contentRoot = ' 'root.querySelector(\'[data-role="content"]\') || root;\n' '\n' ' var blocks = Array.from(contentRoot.children).filter(function ' '(el) {\n' ' if (el.id === widgetId) return false;\n' " if (el.hasAttribute('data-check-position')) return false;\n" " if (el.hasAttribute('data-type')) return false;\n" ' if ' '(/^(SCRIPT|STYLE|TEMPLATE|LINK|NOSCRIPT)$/.test(el.tagName)) ' 'return false;\n' " if (el.tagName === 'P' && !el.textContent.trim()) return " 'false;\n' ' return el.getClientRects().length > 0;\n' ' });\n' ' if (!blocks.length) return null;\n' '\n' ' var rootRect = contentRoot.getBoundingClientRect();\n' ' var idx;\n' ' if (rootRect.height > 0) {\n' ' var midY = rootRect.top + rootRect.height / 2;\n' ' for (idx = 0; idx < blocks.length; idx++) {\n' ' if (blocks[idx].getBoundingClientRect().bottom >= midY) ' 'break;\n' ' }\n' ' if (idx >= blocks.length) idx = blocks.length - 1;\n' ' } else {\n' ' idx = Math.floor(blocks.length / 2);\n' ' }\n' '\n' ' var target = blocks[idx];\n' " var isMedia = target.tagName === 'FIGURE' || " "target.classList.contains('VCSortableInPreviewMode');\n" '\n' " var newDiv = document.createElement('div');\n" ' newDiv.id = widgetId;\n' ' contentRoot.insertBefore(newDiv, isMedia ? target : ' 'target.nextSibling);\n' ' return newDiv;\n' ' }\n' '\n' ' function tnOnReady(fn) {\n' " if (document.readyState !== 'loading') fn();\n" " else document.addEventListener('DOMContentLoaded', fn, { " 'once: true });\n' ' }\n' ' \n' '\n' ' (function () {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' ' if (laNuocNgoai) return;\n' ' tnOnReady(function () {\n' ' var pernewDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'tn\\_detail\\_foryou1\\_pc\\_per');\n" ' if (!pernewDiv) return;\n' '\n' ' ' "loadJsAsync('https://js.aiservice.vn/rec/tn\\_detail\\_foryou1\\_pc\\_per.js', " 'function(){}, function() {\n' ' ' "window.boxTNRecs.err.push('rec/tn\\_detail\\_foryou1\\_pc\\_per.js');\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;\n' '\n' ' tnOnReady(function () {\n' ' var newDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'taboola-mid-article-widget');\n" ' if (!newDiv) return;\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(2026, 9, 25), 'published_timestamp': datetime.datetime(2026, 9, 25, 6, 16), 'source': 'ThanhNien', 'tags': ['Nghiên cứu khoa học', 'Bài tập thể dục', 'Người lớn tuổi', 'Khung xương', 'Mật độ khoáng xương', 'Loãng xương', 'Đi bộ nhanh', 'Chạy bộ chậm', 'Tập thể dục nhịp điệu', 'Rèn luyện sức bền', 'Suy giảm mật độ khoáng', 'Nguy cơ gãy xương', 'Cột sống thắt lưng', 'Cổ xương đùi', 'Vùng hông', 'Liệu pháp thể chất', 'Tác động tuổi tác'], 'title': 'Đi bộ thể dục: Thêm tin vui cho người lớn tuổi', 'url': 'https://thanhnien.vn/di-bo-the-duc-them-tin-vui-cho-nguoi-lon-tuoi-185260925062120863.htm', 'voice': 'HN-Nu-2-BL'} 2026-09-24 23:31:53 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:31:54 [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: Dự báo thời tiết tết Trung thu ngày 25.9, Trung tâm Dự báo khí tượng thủy văn quốc gia cho biết, khu vực miền Trung sẽ có mưa lớn, vùng mưa trọng tâm sẽ là địa bàn 3 tỉnh: Nghệ An, Hà Tĩnh và bắc Quảng Trị (địa bàn tỉnh Quảng Trị cũ). Dự báo thời tiết ngày và đêm nay 25.9, khu vực từ Nghệ An đến phía bắc tỉnh Quảng Trị có lượng mưa phổ biến 20 - 50 mm, có nơi trên 120 mm; nguy cơ xảy ra những trận mưa cường suất lớn, lượng mưa trên 80 mm trong 3 giờ gây ra ngập úng cục bộ. Trong ngày tết Trung thu năm nay, khu vực phía nam các tỉnh Thanh Hóa và Quảng Trị, tỉnh Khánh Hòa, phía đông tỉnh Lâm Đồng, cao nguyên Trung bộ và khu vực Nam bộ dự báo có mưa, mưa vừa và rải rác có giông với lượng mưa phổ biến 20 - 40 mm, có nơi mưa to trên 80 mm. Các tỉnh duyên hải Nam Trung bộ thời tiết trong ngày tết Trung thu phổ biến là trời nhiều mây,\xa0 phía bắc ban ngày có mưa rào và giông rải rác, đêm có mưa rào và giông vài nơi; phía nam ngày có mưa, mưa vừa và giông, có nơi mưa to đến rất to, đêm có mưa rào và giông rải rác. Trong mưa giông, người dân đề phòng có khả năng xảy ra lốc, sét và gió giật mạnh. Dự báo nhiệt độ thấp nhất từ 24 - 27 độ C, cao nhất từ 29 - 32 độ C. Cũng theo Trung tâm Dự báo khí tượng thủy văn quốc gia, dự báo thời tiết từ đêm 25.9 đến ngày 26.9, khu vực từ Nghệ An đến phía bắc tỉnh Quảng Trị có mưa, mưa vừa, có nơi mưa to đến rất to, lượng mưa phổ biến từ 20 - 40 mm, có nơi trên 80 mm. Dự báo thời tiết Hà Nội hôm nay, ban ngày nắng, đêm có mưa rào và giông vài nơi, gió nhẹ. Nhiệt độ thấp nhất tại Hà Nội trong khoảng 24 - 26 độ C, cao nhất từ 32 - 34 độ C."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-09-24 23:31:54 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-09-24 23:31:54 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-09-24 23:31:54 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-09-24 23:31:54 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-09-24 23:31:54 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-09-24 23:31:54 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-09-24 23:31:54 [httpcore.http11] DEBUG: send_request_headers.complete 2026-09-24 23:31:54 [httpcore.http11] DEBUG: send_request_body.started request= 2026-09-24 23:31:54 [httpcore.http11] DEBUG: send_request_body.complete 2026-09-24 23:31:54 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-09-24 23:31:55 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Thu, 24 Sep 2026 23:31:55 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'a40595d78d590705-HKG'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'access-control-expose-headers', b'X-Request-ID'), (b'access-control-expose-headers', b'CF-Ray'), (b'Access-Control-Expose-Headers', b'CF-Ray'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'1217'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-openai-proxy-wasm', b'v0.1'), (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'149999360'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_f0794aefa0de4fd3841d1290a51d73b0'), (b'set-cookie', b'__cf_bm=J0Bt6DtaGyjZDu7Jl0U5VfYO.y.7e.CKpbgRqM8e.fQ-1790292714.1668763-1.0.1.1-FA9TkWeeObx4KYBcv6FVXdRHsTxJdrfnqGkHcTywsGxtUb1Z7IaTNsjmLNafHcU9O8hbf7mmxes5eSTN1TWnSAHOxzOkNNwhomNtRtW2QMzUaQpAI4tw9R3IbbbjGknZ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:01:55 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-09-24 23:31:55 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-09-24 23:31:55 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-09-24 23:31:55 [httpcore.http11] DEBUG: receive_response_body.complete 2026-09-24 23:31:55 [httpcore.http11] DEBUG: response_closed.started 2026-09-24 23:31:55 [httpcore.http11] DEBUG: response_closed.complete 2026-09-24 23:31:55 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Thu, 24 Sep 2026 23:31:55 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('cf-ray', 'a40595d78d590705-HKG'), ('cf-cache-status', 'DYNAMIC'), ('server', 'cloudflare'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'X-Request-ID'), ('access-control-expose-headers', 'CF-Ray'), ('access-control-expose-headers', 'CF-Ray'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '1217'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-openai-proxy-wasm', 'v0.1'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149999360'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_f0794aefa0de4fd3841d1290a51d73b0'), ('set-cookie', '__cf_bm=J0Bt6DtaGyjZDu7Jl0U5VfYO.y.7e.CKpbgRqM8e.fQ-1790292714.1668763-1.0.1.1-FA9TkWeeObx4KYBcv6FVXdRHsTxJdrfnqGkHcTywsGxtUb1Z7IaTNsjmLNafHcU9O8hbf7mmxes5eSTN1TWnSAHOxzOkNNwhomNtRtW2QMzUaQpAI4tw9R3IbbbjGknZ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:01:55 GMT'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2026-09-24 23:31:55 [openai._base_client] DEBUG: request_id: req_f0794aefa0de4fd3841d1290a51d73b0 2026-09-24 23:31:55 [thanhnien_timestamp] INFO: Min timestamp: 2026-09-25 06:10:00, Published timestamp: 2026-09-25 06:17:00 2026-09-24 23:31:55 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-09-24 23:32:05 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 408 2026-09-24 23:32:05 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/thoi-tiet-tet-trung-thu-3-tinh-mua-lon-don-dap-co-noi-tren-120-mm-185260925060341826.htm> {'audio_url': 'https://lake-api.blaze.vn/tts-data/makogtpc-2026-09-24%2023%3A31%3A55.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=BLZ4B6CBCE73519431B%2F20260924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260924T233204Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=1d48791922e7513acda3a99a59b9d7f286b8d14b57eae54a1dd80cf7c465607d', 'author': None, 'category': 'Thời sự', 'content': 'Dự báo thời tiết tết Trung thu ngày 25.9, Trung tâm Dự báo khí ' 'tượng thủy văn quốc gia cho biết, khu vực miền Trung sẽ có mưa ' 'lớn, vùng mưa trọng tâm sẽ là địa bàn 3 tỉnh: Nghệ An, Hà Tĩnh và ' 'bắc Quảng Trị (địa bàn tỉnh Quảng Trị cũ). Dự báo thời tiết ngày ' 'và đêm nay 25.9, khu vực từ Nghệ An đến phía bắc tỉnh Quảng Trị ' 'có lượng mưa phổ biến 20 - 50 mm, có nơi trên 120 mm; nguy cơ xảy ' 'ra những trận mưa cường suất lớn, lượng mưa trên 80 mm trong 3 ' 'giờ gây ra ngập úng cục bộ. Trong ngày tết Trung thu năm nay, khu ' 'vực phía nam các tỉnh Thanh Hóa và Quảng Trị, tỉnh Khánh Hòa, ' 'phía đông tỉnh Lâm Đồng, cao nguyên Trung bộ và khu vực Nam bộ dự ' 'báo có mưa, mưa vừa và rải rác có giông với lượng mưa phổ biến 20 ' '- 40 mm, có nơi mưa to trên 80 mm. Các tỉnh duyên hải Nam Trung ' 'bộ thời tiết trong ngày tết Trung thu phổ biến là trời nhiều ' 'mây,\xa0 phía bắc ban ngày có mưa rào và giông rải rác, đêm có ' 'mưa rào và giông vài nơi; phía nam ngày có mưa, mưa vừa và giông, ' 'có nơi mưa to đến rất to, đêm có mưa rào và giông rải rác. Trong ' 'mưa giông, người dân đề phòng có khả năng xảy ra lốc, sét và gió ' 'giật mạnh. Dự báo nhiệt độ thấp nhất từ 24 - 27 độ C, cao nhất từ ' '29 - 32 độ C. Cũng theo Trung tâm Dự báo khí tượng thủy văn quốc ' 'gia, dự báo thời tiết từ đêm 25.9 đến ngày 26.9, khu vực từ Nghệ ' 'An đến phía bắc tỉnh Quảng Trị có mưa, mưa vừa, có nơi mưa to đến ' 'rất to, lượng mưa phổ biến từ 20 - 40 mm, có nơi trên 80 mm. Dự ' 'báo thời tiết Hà Nội hôm nay, ban ngày nắng, đêm có mưa rào và ' 'giông vài nơi, gió nhẹ. Nhiệt độ thấp nhất tại Hà Nội trong ' 'khoảng 24 - 26 độ C, cao nhất từ 32 - 34 độ C.', 'description': 'Dự báo thời tiết hôm nay 25.9 - tết Trung thu 2026, mưa lớn ' 'dồn dập xảy ra từ Nghệ An đến bắc Quảng Trị. Khu vực cao ' 'nguyên miền Trung, Nam bộ có mưa, mưa vừa và rải rác có ' 'giông.', 'html_content': '

Dự báo thời tiết tết Trung thu ' 'ngày 25.9, Trung tâm Dự báo khí tượng thủy văn quốc gia cho ' 'biết, khu vực miền Trung sẽ có mưa lớn, vùng mưa trọng tâm ' 'sẽ là địa bàn 3 tỉnh: Nghệ An, Hà Tĩnh và bắc Quảng Trị (địa ' 'bàn tỉnh Quảng Trị cũ).

Thời tiết '
                 'tết Trung thu: 3 tỉnh mưa lớn dồn dập, có nơi trên 120 mm- '
                 'Ảnh 1.

Dự báo thời tiết tết Trung thu năm ' 'nay, mưa lớn xảy ra ở các tỉnh miền Trung từ Nghệ An đến bắc ' 'Quảng Trị

ẢNH: PHAN HẬU

Dự báo thời tiết ngày và đêm nay ' '25.9, khu vực từ Nghệ An đến phía bắc tỉnh Quảng Trị có ' 'lượng mưa phổ biến 20 - 50 mm, có nơi trên 120 mm; nguy cơ ' 'xảy ra những trận mưa cường suất lớn, lượng mưa trên 80 mm ' 'trong 3 giờ gây ra ngập úng cục bộ.

Trong ngày tết Trung thu năm nay, ' 'khu vực phía nam các tỉnh Thanh Hóa và Quảng Trị, tỉnh Khánh ' 'Hòa, phía đông tỉnh Lâm Đồng, cao nguyên Trung bộ và khu vực ' 'Nam bộ dự báo có mưa, mưa vừa và rải rác có giông với lượng ' 'mưa phổ biến 20 - 40 mm, có nơi mưa to trên 80 mm.

Các tỉnh duyên hải Nam Trung bộ ' 'thời tiết trong ngày tết Trung thu phổ biến là trời nhiều ' 'mây,\xa0 phía bắc ban ngày có mưa rào và giông rải rác, đêm ' 'có mưa rào và giông vài nơi; phía nam ngày có mưa, mưa vừa ' 'và giông, có nơi mưa to đến rất to, đêm có mưa rào và giông ' 'rải rác. Trong mưa giông, người dân đề phòng có khả năng xảy ' 'ra lốc, sét và gió giật mạnh. Dự báo nhiệt độ thấp nhất từ ' '24 - 27 độ C, cao nhất từ 29 - 32 độ C.

Cũng theo Trung tâm Dự báo khí ' 'tượng thủy văn quốc gia, dự báo thời tiết từ đêm 25.9 đến ' 'ngày 26.9, khu vực từ Nghệ An đến phía bắc tỉnh Quảng Trị có ' 'mưa, mưa vừa, có nơi mưa to đến rất to, lượng mưa phổ biến ' 'từ 20 - 40 mm, có nơi trên 80 mm.

Dự báo thời tiết Hà Nội hôm nay, ' 'ban ngày nắng, đêm có mưa rào và giông vài nơi, gió nhẹ. ' 'Nhiệt độ thấp nhất tại Hà Nội trong khoảng 24 - 26 độ C, cao ' 'nhất từ 32 - 34 độ C.

\n' ' \n' '\n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
', 'md_content': 'Dự báo thời tiết tết Trung thu ngày 25.9, Trung tâm Dự báo khí ' 'tượng thủy văn quốc gia cho biết, khu vực miền Trung sẽ có mưa ' 'lớn, vùng mưa trọng tâm sẽ là địa bàn 3 tỉnh: Nghệ An, Hà Tĩnh ' 'và bắc Quảng Trị (địa bàn tỉnh Quảng Trị cũ).\n' '\n' '![Thời tiết tết Trung thu: 3 tỉnh mưa lớn dồn dập, có nơi trên ' '120 mm- Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2026/7/12/tnw-photo-1783817322206-1783817322726944139694-179029073037219280946.jpeg)Dự ' 'báo thời tiết tết Trung thu năm nay, mưa lớn xảy ra ở các tỉnh ' 'miền Trung từ Nghệ An đến bắc Quảng Trị\n' '\n' 'ẢNH: PHAN HẬU\n' '\n' 'Dự báo thời tiết ngày và đêm nay 25.9, khu vực từ Nghệ An đến ' 'phía bắc tỉnh Quảng Trị có lượng mưa phổ biến 20 - 50 mm, có ' 'nơi trên 120 mm; nguy cơ xảy ra những trận mưa cường suất lớn, ' 'lượng mưa trên 80 mm trong 3 giờ gây ra ngập úng cục bộ.\n' '\n' 'Trong ngày tết Trung thu năm nay, khu vực phía nam các tỉnh ' 'Thanh Hóa và Quảng Trị, tỉnh Khánh Hòa, phía đông tỉnh Lâm ' 'Đồng, cao nguyên Trung bộ và khu vực Nam bộ dự báo có mưa, mưa ' 'vừa và rải rác có giông với lượng mưa phổ biến 20 - 40 mm, có ' 'nơi mưa to trên 80 mm.\n' '\n' 'Các tỉnh duyên hải Nam Trung bộ thời tiết trong ngày tết Trung ' 'thu phổ biến là trời nhiều mây,\xa0 phía bắc ban ngày có mưa ' 'rào và giông rải rác, đêm có mưa rào và giông vài nơi; phía ' 'nam ngày có mưa, mưa vừa và giông, có nơi mưa to đến rất to, ' 'đêm có mưa rào và giông rải rác. Trong mưa giông, người dân đề ' 'phòng có khả năng xảy ra lốc, sét và gió giật mạnh. Dự báo ' 'nhiệt độ thấp nhất từ 24 - 27 độ C, cao nhất từ 29 - 32 độ C.\n' '\n' 'Cũng theo Trung tâm Dự báo khí tượng thủy văn quốc gia, dự báo ' 'thời tiết từ đêm 25.9 đến ngày 26.9, khu vực từ Nghệ An đến ' 'phía bắc tỉnh Quảng Trị có mưa, mưa vừa, có nơi mưa to đến rất ' 'to, lượng mưa phổ biến từ 20 - 40 mm, có nơi trên 80 mm.\n' '\n' 'Dự báo thời tiết Hà Nội hôm nay, ban ngày nắng, đêm có mưa rào ' 'và giông vài nơi, gió nhẹ. Nhiệt độ thấp nhất tại Hà Nội trong ' 'khoảng 24 - 26 độ C, cao nhất từ 32 - 34 độ C.\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' ' function tnDetailInsertMidArticleWidget(rootSelector, ' 'widgetId) {\n' ' var root = document.querySelector(rootSelector);\n' ' if (!root) return null;\n' ' var contentRoot = ' 'root.querySelector(\'[data-role="content"]\') || root;\n' '\n' ' var blocks = Array.from(contentRoot.children).filter(function ' '(el) {\n' ' if (el.id === widgetId) return false;\n' " if (el.hasAttribute('data-check-position')) return false;\n" " if (el.hasAttribute('data-type')) return false;\n" ' if ' '(/^(SCRIPT|STYLE|TEMPLATE|LINK|NOSCRIPT)$/.test(el.tagName)) ' 'return false;\n' " if (el.tagName === 'P' && !el.textContent.trim()) return " 'false;\n' ' return el.getClientRects().length > 0;\n' ' });\n' ' if (!blocks.length) return null;\n' '\n' ' var rootRect = contentRoot.getBoundingClientRect();\n' ' var idx;\n' ' if (rootRect.height > 0) {\n' ' var midY = rootRect.top + rootRect.height / 2;\n' ' for (idx = 0; idx < blocks.length; idx++) {\n' ' if (blocks[idx].getBoundingClientRect().bottom >= midY) ' 'break;\n' ' }\n' ' if (idx >= blocks.length) idx = blocks.length - 1;\n' ' } else {\n' ' idx = Math.floor(blocks.length / 2);\n' ' }\n' '\n' ' var target = blocks[idx];\n' " var isMedia = target.tagName === 'FIGURE' || " "target.classList.contains('VCSortableInPreviewMode');\n" '\n' " var newDiv = document.createElement('div');\n" ' newDiv.id = widgetId;\n' ' contentRoot.insertBefore(newDiv, isMedia ? target : ' 'target.nextSibling);\n' ' return newDiv;\n' ' }\n' '\n' ' function tnOnReady(fn) {\n' " if (document.readyState !== 'loading') fn();\n" " else document.addEventListener('DOMContentLoaded', fn, { " 'once: true });\n' ' }\n' ' \n' '\n' ' (function () {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' ' if (laNuocNgoai) return;\n' ' tnOnReady(function () {\n' ' var pernewDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'tn\\_detail\\_foryou1\\_pc\\_per');\n" ' if (!pernewDiv) return;\n' '\n' ' ' "loadJsAsync('https://js.aiservice.vn/rec/tn\\_detail\\_foryou1\\_pc\\_per.js', " 'function(){}, function() {\n' ' ' "window.boxTNRecs.err.push('rec/tn\\_detail\\_foryou1\\_pc\\_per.js');\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;\n' '\n' ' tnOnReady(function () {\n' ' var newDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'taboola-mid-article-widget');\n" ' if (!newDiv) return;\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(2026, 9, 25), 'published_timestamp': datetime.datetime(2026, 9, 25, 6, 17), 'source': 'ThanhNien', 'tags': ['Dự báo thời tiết', 'Tết Trung thu', 'Mưa lớn', 'Nghệ An', 'Hà Tĩnh', 'Quảng Trị', 'Ngập úng', 'Mưa cường suất lớn', 'Lượng mưa', 'Giông', 'Nhiệt độ', 'Khí tượng thủy văn', 'Khu vực miền Trung', 'Khu vực Nam bộ', 'Khu vực Bắc bộ', 'Lốc', 'Sét', 'Gió giật mạnh'], 'title': 'Thời tiết tết Trung thu: 3 tỉnh mưa lớn dồn dập, có nơi trên 120 mm', 'url': 'https://thanhnien.vn/thoi-tiet-tet-trung-thu-3-tinh-mua-lon-don-dap-co-noi-tren-120-mm-185260925060341826.htm', 'voice': 'HN-Nam-1-BL'} 2026-09-24 23:32:05 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:32:06 [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: Theo báo cáo mới của Viện Salata về khí hậu và bền vững thuộc Đại học Harvard (Mỹ), nhiệt độ mặt biển tại vùng Nino 3.4 ở xích đạo Thái Bình Dương giữa tháng 9 đã cao hơn mức trung bình khoảng 2 độ C. Cơ quan Khí quyển và đại dương Mỹ (NOAA) dự báo có 75% khả năng El Nino trong giai đoạn tháng 10 - 12 sẽ mạnh hơn mọi đợt ghi nhận kể từ năm 1950. Tác động đã bắt đầu xuất hiện rõ. Lượng mưa giảm làm gia tăng cháy đất than bùn tại Indonesia và gây sức ép lên sản lượng lúa. Tại Trung Mỹ, hạn hán gây thiệt hại mùa màng và khiến mực nước kênh đào Panama suy giảm, buộc tuyến đường thủy chiếm khoảng 5% thương mại toàn cầu phải hạn chế lưu lượng tàu, theo AFP. Trong khi đó, Ecuador và một số khu vực Nam Mỹ có thể đối mặt mưa lũ cực đoan. Những biến động thời tiết có thể nhanh chóng chuyển thành sức ép kinh tế - xã hội. Hồi tháng 8, Chương trình Lương thực thế giới cảnh báo tác động của El Nino có thể đẩy khoảng 50 triệu người vào tình trạng mất an ninh lương thực nghiêm trọng và khiến giá thực phẩm tăng. Bên cạnh đó, rủi ro đối với sức khỏe cũng đặc biệt đáng lo. Theo The Guardian hôm qua dẫn ước tính của giới khoa học khí hậu, nắng nóng tăng thêm do El Nino có thể khiến hơn 450.000 người tử vong sớm. Trước viễn cảnh trên, giới chuyên gia cho rằng công tác ứng phó không thể chỉ dừng ở dự báo thời tiết. Các chính quyền cần kiểm tra hệ thống thoát nước, đê, đập, đường sá và cầu cống, đồng thời chuẩn bị nơi trú ẩn, dịch vụ y tế và phương án hỗ trợ người cao tuổi, người khuyết tật, người thu nhập thấp và người vô gia cư - những nhóm thường chịu rủi ro lớn hơn khi thiên tai xảy ra. Một số địa phương tại Mỹ đã tổ chức diễn tập theo kịch bản El Nino, phối hợp nhiều đơn vị nhằm phát hiện lỗ hổng trước khi xảy ra bão lớn, lũ lụt hoặc sạt lở. Trong khi đó, nhiều nước châu Á đang chạy đua củng cố hệ thống cảnh báo, bảo vệ nguồn nước và mùa màng trước đợt El Nino mới."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-09-24 23:32:06 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-09-24 23:32:06 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-09-24 23:32:06 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-09-24 23:32:06 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-09-24 23:32:06 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-09-24 23:32:06 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-09-24 23:32:06 [httpcore.http11] DEBUG: send_request_headers.complete 2026-09-24 23:32:06 [httpcore.http11] DEBUG: send_request_body.started request= 2026-09-24 23:32:06 [httpcore.http11] DEBUG: send_request_body.complete 2026-09-24 23:32:06 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-09-24 23:32:08 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Thu, 24 Sep 2026 23:32:08 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'a40596227d0185dd-HKG'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'access-control-expose-headers', b'X-Request-ID'), (b'access-control-expose-headers', b'CF-Ray'), (b'Access-Control-Expose-Headers', b'CF-Ray'), (b'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'1681'), (b'openai-project', b'proj_AqBCEfNib7E5LbrMYDz2oklk'), (b'openai-version', b'2020-10-01'), (b'x-openai-proxy-wasm', b'v0.1'), (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'149999247'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_b1ce3acb85584d4fa91904e2f9d6ac47'), (b'set-cookie', b'__cf_bm=edsowu49nv9uCisorVNylpMlm4O79ctdmk06bKnOt8E-1790292726.152159-1.0.1.1-H9Kf0owg9pPV4BsT5Dk.B3mN0oBk8DjP5Rou_aN_CIvz59l51WvoQRz04UQVZdDMgY.CsPknNozK8RnKvH1_g_1s3_cinjjb3p9zj0QubImULJnNvU5_7oVygjzywHIt; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:02:08 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-09-24 23:32:08 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-09-24 23:32:08 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-09-24 23:32:08 [httpcore.http11] DEBUG: receive_response_body.complete 2026-09-24 23:32:08 [httpcore.http11] DEBUG: response_closed.started 2026-09-24 23:32:08 [httpcore.http11] DEBUG: response_closed.complete 2026-09-24 23:32:08 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Thu, 24 Sep 2026 23:32:08 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('cf-ray', 'a40596227d0185dd-HKG'), ('cf-cache-status', 'DYNAMIC'), ('server', 'cloudflare'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'X-Request-ID'), ('access-control-expose-headers', 'CF-Ray'), ('access-control-expose-headers', 'CF-Ray'), ('openai-organization', 'user-bmggli0qfnphtzkdehrnfdrn'), ('openai-processing-ms', '1681'), ('openai-project', 'proj_AqBCEfNib7E5LbrMYDz2oklk'), ('openai-version', '2020-10-01'), ('x-openai-proxy-wasm', 'v0.1'), ('x-ratelimit-limit-requests', '30000'), ('x-ratelimit-limit-tokens', '150000000'), ('x-ratelimit-remaining-requests', '29999'), ('x-ratelimit-remaining-tokens', '149999247'), ('x-ratelimit-reset-requests', '2ms'), ('x-ratelimit-reset-tokens', '0s'), ('x-request-id', 'req_b1ce3acb85584d4fa91904e2f9d6ac47'), ('set-cookie', '__cf_bm=edsowu49nv9uCisorVNylpMlm4O79ctdmk06bKnOt8E-1790292726.152159-1.0.1.1-H9Kf0owg9pPV4BsT5Dk.B3mN0oBk8DjP5Rou_aN_CIvz59l51WvoQRz04UQVZdDMgY.CsPknNozK8RnKvH1_g_1s3_cinjjb3p9zj0QubImULJnNvU5_7oVygjzywHIt; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 25 Sep 2026 00:02:08 GMT'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2026-09-24 23:32:08 [openai._base_client] DEBUG: request_id: req_b1ce3acb85584d4fa91904e2f9d6ac47 2026-09-24 23:32:08 [thanhnien_timestamp] INFO: Min timestamp: 2026-09-25 06:10:00, Published timestamp: 2026-09-25 06:19:00 2026-09-24 23:32:08 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-09-24 23:32:18 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 408 2026-09-24 23:32:18 [scrapy.core.scraper] DEBUG: Scraped from <200 https://thanhnien.vn/sieu-el-nino-va-phep-thu-ung-pho-toan-cau-18526092421161644.htm> {'audio_url': 'https://lake-api.blaze.vn/tts-data/pgwoopcr-2026-09-24%2023%3A32%3A08.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=BLZ4B6CBCE73519431B%2F20260924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260924T233217Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=cf13990c041e8c45a80508fe2e7c869bcef47dda0151a6170ed21a36941b216f', 'author': None, 'category': 'Thế giới', 'content': 'Theo báo cáo mới của Viện Salata về khí hậu và bền vững thuộc Đại ' 'học Harvard (Mỹ), nhiệt độ mặt biển tại vùng Nino 3.4 ở xích đạo ' 'Thái Bình Dương giữa tháng 9 đã cao hơn mức trung bình khoảng 2 ' 'độ C. Cơ quan Khí quyển và đại dương Mỹ (NOAA) dự báo có 75% khả ' 'năng El Nino trong giai đoạn tháng 10 - 12 sẽ mạnh hơn mọi đợt ' 'ghi nhận kể từ năm 1950. Tác động đã bắt đầu xuất hiện rõ. Lượng ' 'mưa giảm làm gia tăng cháy đất than bùn tại Indonesia và gây sức ' 'ép lên sản lượng lúa. Tại Trung Mỹ, hạn hán gây thiệt hại mùa ' 'màng và khiến mực nước kênh đào Panama suy giảm, buộc tuyến đường ' 'thủy chiếm khoảng 5% thương mại toàn cầu phải hạn chế lưu lượng ' 'tàu, theo AFP. Trong khi đó, Ecuador và một số khu vực Nam Mỹ có ' 'thể đối mặt mưa lũ cực đoan. Những biến động thời tiết có thể ' 'nhanh chóng chuyển thành sức ép kinh tế - xã hội. Hồi tháng 8, ' 'Chương trình Lương thực thế giới cảnh báo tác động của El Nino có ' 'thể đẩy khoảng 50 triệu người vào tình trạng mất an ninh lương ' 'thực nghiêm trọng và khiến giá thực phẩm tăng. Bên cạnh đó, rủi ' 'ro đối với sức khỏe cũng đặc biệt đáng lo. Theo The Guardian hôm ' 'qua dẫn ước tính của giới khoa học khí hậu, nắng nóng tăng thêm ' 'do El Nino có thể khiến hơn 450.000 người tử vong sớm. Trước viễn ' 'cảnh trên, giới chuyên gia cho rằng công tác ứng phó không thể ' 'chỉ dừng ở dự báo thời tiết. Các chính quyền cần kiểm tra hệ ' 'thống thoát nước, đê, đập, đường sá và cầu cống, đồng thời chuẩn ' 'bị nơi trú ẩn, dịch vụ y tế và phương án hỗ trợ người cao tuổi, ' 'người khuyết tật, người thu nhập thấp và người vô gia cư - những ' 'nhóm thường chịu rủi ro lớn hơn khi thiên tai xảy ra. Một số địa ' 'phương tại Mỹ đã tổ chức diễn tập theo kịch bản El Nino, phối hợp ' 'nhiều đơn vị nhằm phát hiện lỗ hổng trước khi xảy ra bão lớn, lũ ' 'lụt hoặc sạt lở. Trong khi đó, nhiều nước châu Á đang chạy đua ' 'củng cố hệ thống cảnh báo, bảo vệ nguồn nước và mùa màng trước ' 'đợt El Nino mới.', 'description': 'Siêu El Nino đang mạnh lên và được dự báo có thể gây hàng ' 'loạt cú sốc về sức khỏe cộng đồng, thời tiết, nông nghiệp và ' 'nguồn nước tại nhiều khu vực từ nay đến đầu năm 2027, đặt ' 'năng lực ứng phó của nhiều quốc gia trước một phép thử lớn.', 'html_content': '

Theo báo cáo mới của Viện Salata ' 'về khí hậu và bền vững thuộc Đại học Harvard (Mỹ), nhiệt độ ' 'mặt biển tại vùng Nino 3.4 ở xích đạo Thái Bình Dương giữa ' 'tháng 9 đã cao hơn mức trung bình khoảng 2 độ C. Cơ quan Khí ' 'quyển và đại dương Mỹ (NOAA) dự báo có 75% khả năng El Nino trong giai đoạn tháng 10 - 12 sẽ ' 'mạnh hơn mọi đợt ghi nhận kể từ năm 1950.

Siêu El '
                 'Nino và phép thử ứng phó toàn cầu- Ảnh 1.

Những cánh đồng lúa nứt nẻ do ' 'mùa khô kéo dài tại Tây Java ' '(Indonesia)

ẢNH: AFP

Tác động đã bắt đầu xuất hiện rõ. ' 'Lượng mưa giảm làm gia tăng cháy đất than bùn tại Indonesia ' 'và gây sức ép lên sản lượng lúa. Tại Trung Mỹ, hạn hán gây ' 'thiệt hại mùa màng và khiến mực nước kênh đào Panama suy ' 'giảm, buộc tuyến đường thủy chiếm khoảng 5% thương mại toàn ' 'cầu phải hạn chế lưu lượng tàu, theo AFP. Trong khi đó, ' 'Ecuador và một số khu vực Nam Mỹ có thể đối mặt mưa lũ cực ' 'đoan.

Những biến động thời ' 'tiết có thể nhanh chóng chuyển thành sức ép kinh tế - xã ' 'hội. Hồi tháng 8, Chương trình Lương thực thế giới cảnh báo tác động của El Nino có thể ' 'đẩy khoảng 50 triệu người vào tình trạng mất an ninh lương ' 'thực nghiêm trọng và khiến giá thực phẩm tăng. Bên cạnh đó, ' 'rủi ro đối với sức khỏe cũng đặc biệt đáng lo. Theo The ' 'Guardian hôm qua dẫn ước tính của giới khoa học khí hậu, ' 'nắng nóng tăng thêm do El Nino có thể khiến hơn 450.000 ' 'người tử vong sớm.

Trước ' 'viễn cảnh trên, giới chuyên gia cho rằng công tác ứng phó ' 'không thể chỉ dừng ở dự báo thời tiết. Các chính quyền cần ' 'kiểm tra hệ thống thoát nước, đê, đập, đường sá và cầu cống, ' 'đồng thời chuẩn bị nơi trú ẩn, dịch vụ y tế và phương án hỗ trợ người cao tuổi, người ' 'khuyết tật, người thu nhập thấp và người vô gia cư - những ' 'nhóm thường chịu rủi ro lớn hơn khi thiên tai xảy ra.\xa0' '

Một số địa phương tại Mỹ ' 'đã tổ chức diễn tập theo kịch bản El Nino, phối hợp nhiều ' 'đơn vị nhằm phát hiện lỗ hổng trước khi xảy ra bão lớn, lũ ' 'lụt hoặc sạt lở. Trong khi đó, nhiều nước châu Á đang chạy ' 'đua củng cố hệ thống cảnh báo, bảo vệ nguồn nước và mùa màng ' 'trước đợt El Nino mới.

\n' ' \n' '\n' '\n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' ' \n' '\n' '
', 'md_content': 'Theo báo cáo mới của Viện Salata về khí hậu và bền vững thuộc ' 'Đại học Harvard (Mỹ), nhiệt độ mặt biển tại vùng Nino 3.4 ở ' 'xích đạo Thái Bình Dương giữa tháng 9 đã cao hơn mức trung ' 'bình khoảng 2 độ C. Cơ quan Khí quyển và đại dương Mỹ (NOAA) ' 'dự báo có 75% khả năng [El ' 'Nino](https://thanhnien.vn/el-nino.html "El Nino") trong giai ' 'đoạn tháng 10 - 12 sẽ mạnh hơn mọi đợt ghi nhận kể từ năm ' '1950.\n' '\n' '![Siêu El Nino và phép thử ứng phó toàn cầu- Ảnh ' '1.](https://images2.thanhnien.vn/thumb_w/640/528068263637045248/2026/9/24/el-nino-1-17902592648581112959096.png)Những ' 'cánh đồng lúa nứt nẻ do mùa khô kéo dài tại Tây Java ' '(Indonesia)\n' '\n' 'ẢNH: AFP\n' '\n' 'Tác động đã bắt đầu xuất hiện rõ. Lượng mưa giảm làm gia tăng ' 'cháy đất than bùn tại Indonesia và gây sức ép lên sản lượng ' 'lúa. Tại Trung Mỹ, hạn hán gây thiệt hại mùa màng và khiến mực ' 'nước kênh đào Panama suy giảm, buộc tuyến đường thủy chiếm ' 'khoảng 5% thương mại toàn cầu phải hạn chế lưu lượng tàu, theo ' 'AFP. Trong khi đó, Ecuador và một số khu vực Nam Mỹ có thể đối ' 'mặt mưa lũ cực đoan.\n' '\n' 'Những biến động thời tiết có thể nhanh chóng chuyển thành sức ' 'ép kinh tế - xã hội. Hồi tháng 8, Chương trình Lương thực thế ' 'giới [cảnh báo](https://thanhnien.vn/canh-bao.html "cảnh báo") ' 'tác động của El Nino có thể đẩy khoảng 50 triệu người vào tình ' 'trạng mất an ninh lương thực nghiêm trọng và khiến giá thực ' 'phẩm tăng. Bên cạnh đó, rủi ro đối với sức khỏe cũng đặc biệt ' 'đáng lo. Theo *The Guardian* hôm qua dẫn ước tính của giới ' 'khoa học khí hậu, nắng nóng tăng thêm do El Nino có thể khiến ' 'hơn 450.000 người tử vong sớm.\n' '\n' 'Trước viễn cảnh trên, giới chuyên gia cho rằng công tác ứng ' 'phó không thể chỉ dừng ở dự báo thời tiết. Các chính quyền cần ' 'kiểm tra hệ thống thoát nước, đê, đập, đường sá và cầu cống, ' 'đồng thời chuẩn bị nơi trú ẩn, dịch vụ y tế và [phương ' 'án](https://thanhnien.vn/phuong-an.html "phương án") hỗ trợ ' 'người cao tuổi, người khuyết tật, người thu nhập thấp và người ' 'vô gia cư - những nhóm thường chịu rủi ro lớn hơn khi thiên ' 'tai xảy ra.\xa0\n' '\n' 'Một số địa phương tại Mỹ đã tổ chức diễn tập theo kịch bản El ' 'Nino, phối hợp nhiều đơn vị nhằm phát hiện lỗ hổng trước khi ' 'xảy ra bão lớn, lũ lụt hoặc sạt lở. Trong khi đó, nhiều nước ' 'châu Á đang chạy đua củng cố hệ thống cảnh báo, bảo vệ nguồn ' 'nước và mùa màng trước đợt El Nino mới.\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' ' function tnDetailInsertMidArticleWidget(rootSelector, ' 'widgetId) {\n' ' var root = document.querySelector(rootSelector);\n' ' if (!root) return null;\n' ' var contentRoot = ' 'root.querySelector(\'[data-role="content"]\') || root;\n' '\n' ' var blocks = Array.from(contentRoot.children).filter(function ' '(el) {\n' ' if (el.id === widgetId) return false;\n' " if (el.hasAttribute('data-check-position')) return false;\n" " if (el.hasAttribute('data-type')) return false;\n" ' if ' '(/^(SCRIPT|STYLE|TEMPLATE|LINK|NOSCRIPT)$/.test(el.tagName)) ' 'return false;\n' " if (el.tagName === 'P' && !el.textContent.trim()) return " 'false;\n' ' return el.getClientRects().length > 0;\n' ' });\n' ' if (!blocks.length) return null;\n' '\n' ' var rootRect = contentRoot.getBoundingClientRect();\n' ' var idx;\n' ' if (rootRect.height > 0) {\n' ' var midY = rootRect.top + rootRect.height / 2;\n' ' for (idx = 0; idx < blocks.length; idx++) {\n' ' if (blocks[idx].getBoundingClientRect().bottom >= midY) ' 'break;\n' ' }\n' ' if (idx >= blocks.length) idx = blocks.length - 1;\n' ' } else {\n' ' idx = Math.floor(blocks.length / 2);\n' ' }\n' '\n' ' var target = blocks[idx];\n' " var isMedia = target.tagName === 'FIGURE' || " "target.classList.contains('VCSortableInPreviewMode');\n" '\n' " var newDiv = document.createElement('div');\n" ' newDiv.id = widgetId;\n' ' contentRoot.insertBefore(newDiv, isMedia ? target : ' 'target.nextSibling);\n' ' return newDiv;\n' ' }\n' '\n' ' function tnOnReady(fn) {\n' " if (document.readyState !== 'loading') fn();\n" " else document.addEventListener('DOMContentLoaded', fn, { " 'once: true });\n' ' }\n' ' \n' '\n' ' (function () {\n' ' if (!(window.pageSettings && pageSettings.allow3rd && (typeof ' "window.\\_isAdsHidden === 'undefined' || " '!window.\\_isAdsHidden))) return;\n' ' if (laNuocNgoai) return;\n' ' tnOnReady(function () {\n' ' var pernewDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'tn\\_detail\\_foryou1\\_pc\\_per');\n" ' if (!pernewDiv) return;\n' '\n' ' ' "loadJsAsync('https://js.aiservice.vn/rec/tn\\_detail\\_foryou1\\_pc\\_per.js', " 'function(){}, function() {\n' ' ' "window.boxTNRecs.err.push('rec/tn\\_detail\\_foryou1\\_pc\\_per.js');\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;\n' '\n' ' tnOnReady(function () {\n' ' var newDiv = ' "tnDetailInsertMidArticleWidget('div.detail-cmain', " "'taboola-mid-article-widget');\n" ' if (!newDiv) return;\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(2026, 9, 25), 'published_timestamp': datetime.datetime(2026, 9, 25, 6, 19), 'source': 'ThanhNien', 'tags': ['Khí hậu', 'Bền vững', 'Nhiệt độ mặt biển', 'El Nino', 'Dự báo khí hậu', 'Tác động môi trường', 'Cháy đất than bùn', 'Sản lượng lúa', 'Hạn hán', 'Mực nước kênh đào Panama', 'Thương mại toàn cầu', 'Mưa lũ cực đoan', 'An ninh lương thực', 'Tăng giá thực phẩm', 'Rủi ro sức khỏe', 'Ứng phó thiên tai', 'Hệ thống thoát nước', 'Dịch vụ y tế', 'Nhóm dễ bị tổn thương', 'Diễn tập ứng phó', 'Cảnh báo thiên tai', 'Bảo vệ nguồn nước'], 'title': 'Siêu El Nino và phép thử ứng phó toàn cầu', 'url': 'https://thanhnien.vn/sieu-el-nino-va-phep-thu-ung-pho-toan-cau-18526092421161644.htm', 'voice': 'SG-Nam-1-TM'} 2026-09-24 23:32:18 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://thanhnien.vn/tin-moi.htm) 2026-09-24 23:32:18 [thanhnien_timestamp] INFO: 2026-09-25 06:28:00 not in 2026-09-25 06:10:00 to 2026-09-25 06:25:00 2026-09-24 23:32:18 [scrapy.core.engine] INFO: Closing spider (finished) 2026-09-24 23:32:18 [boto3.s3.transfer] DEBUG: Opting out of CRT Transfer Manager. Preferred client: auto, CRT available: False, Instance Optimized: False. 2026-09-24 23:32:18 [boto3.s3.transfer] DEBUG: Using default client. pid: 51868, thread: 140177103186744 2026-09-24 23:32:18 [s3transfer.utils] DEBUG: Acquiring 0 2026-09-24 23:32:18 [s3transfer.tasks] DEBUG: UploadSubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] 2026-09-24 23:32:18 [s3transfer.tasks] DEBUG: UploadSubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures 2026-09-24 23:32:18 [s3transfer.tasks] DEBUG: Executing task UploadSubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } 2026-09-24 23:32:18 [s3transfer.futures] DEBUG: Submitting task PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'extra_args': {}}) to executor for transfer request: 0. 2026-09-24 23:32:18 [s3transfer.utils] DEBUG: Acquiring 0 2026-09-24 23:32:18 [s3transfer.tasks] DEBUG: PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'extra_args': {}}) about to wait for the following futures [] 2026-09-24 23:32:18 [s3transfer.utils] DEBUG: Releasing acquire 0/None 2026-09-24 23:32:18 [s3transfer.tasks] DEBUG: PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'extra_args': {}}) done waiting for dependent futures 2026-09-24 23:32:18 [s3transfer.tasks] DEBUG: Executing task PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'extra_args': {}}) with kwargs {'client': , 'fileobj': , 'bucket': 'dagster-output-data', 'key': 'thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'extra_args': {}} 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler > 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler > 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-endpoint-resolution.s3: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-endpoint-resolution.s3: calling handler > 2026-09-24 23:32:18 [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_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} 2026-09-24 23:32:18 [botocore.regions] DEBUG: Endpoint provider result: https://lake-api.actable.ai/dagster-output-data 2026-09-24 23:32:18 [botocore.regions] DEBUG: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" 2026-09-24 23:32:18 [botocore.regions] DEBUG: Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.handlers] DEBUG: Adding expect 100 continue header to request. 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler > 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.endpoint] DEBUG: Making request for OperationModel(name=PutObject) with params: {'url_path': '/thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.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-191-generic md/arch#x86_64 lang/python#3.11.13 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.162', 'Content-MD5': 'FKAw0SuzJTswSMGOdgQDsQ==', 'Expect': '100-continue'}, 'body': , 'auth_path': '/dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'url': 'https://lake-api.actable.ai/dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.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_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl', 'Body': }}, 'input_params': {'Bucket': 'dagster-output-data', 'Key': 'thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl'}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'endpoint_properties': {'authSchemes': [{'disableDoubleEncoding': True, 'name': 'sigv4', 'signingName': 's3', 'signingRegion': 'us-east-1'}]}}} 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler > 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event choose-signer.s3.PutObject: calling handler > 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event choose-signer.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-sign.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event before-sign.s3.PutObject: calling handler > 2026-09-24 23:32:18 [botocore.auth] DEBUG: Calculating signature using v4 auth. 2026-09-24 23:32:18 [botocore.auth] DEBUG: CanonicalRequest: PUT /dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl content-md5:FKAw0SuzJTswSMGOdgQDsQ== host:lake-api.actable.ai x-amz-content-sha256:UNSIGNED-PAYLOAD x-amz-date:20260924T233218Z content-md5;host;x-amz-content-sha256;x-amz-date UNSIGNED-PAYLOAD 2026-09-24 23:32:18 [botocore.auth] DEBUG: StringToSign: AWS4-HMAC-SHA256 20260924T233218Z 20260924/us-east-1/s3/aws4_request 523e302e15da5ff44d450091c71d94032ba77e6fd6f3c585b5e1259410379364 2026-09-24 23:32:18 [botocore.auth] DEBUG: Signature: 6f4916535910cc5bd2f9bebc665e796f246fc99741a7a8d0473ab602bdbd00ae 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.endpoint] DEBUG: Sending http request: 2026-09-24 23:32:18 [botocore.httpsession] DEBUG: Certificate path: /usr/local/lib/python3.11/site-packages/certifi/cacert.pem 2026-09-24 23:32:18 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): lake-api.actable.ai:443 2026-09-24 23:32:18 [botocore.awsrequest] DEBUG: Waiting for 100 Continue response. 2026-09-24 23:32:18 [botocore.awsrequest] DEBUG: 100 Continue response seen, now sending request body. 2026-09-24 23:32:18 [urllib3.connectionpool] DEBUG: https://lake-api.actable.ai:443 "PUT /dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl HTTP/1.1" 200 0 2026-09-24 23:32:18 [botocore.parsers] DEBUG: Response headers: {'Server': 'nginx/1.18.0 (Ubuntu)', 'Date': 'Thu, 24 Sep 2026 23:32:18 GMT', 'Content-Length': '0', 'Connection': 'keep-alive', 'Accept-Ranges': 'bytes', 'ETag': '"14a030d12bb3253b3048c18e760403b1"', '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': '18D865C2B8B582C7', 'X-Content-Type-Options': 'nosniff', 'X-Ratelimit-Limit': '93243', 'X-Ratelimit-Remaining': '93243', 'X-Xss-Protection': '1; mode=block'} 2026-09-24 23:32:18 [botocore.parsers] DEBUG: Response body: b'' 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event needs-retry.s3.PutObject: calling handler 2026-09-24 23:32:18 [botocore.retryhandler] DEBUG: No retry needed. 2026-09-24 23:32:18 [botocore.hooks] DEBUG: Event needs-retry.s3.PutObject: calling handler > 2026-09-24 23:32:18 [s3transfer.utils] DEBUG: Releasing acquire 0/None 2026-09-24 23:32:18 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (4 items) in: s3://dagster-output-data/thanhnien_timestamp/thanhnien_timestamp_e48efbb6b86f11f1a00e9270e2e49414_scheduled_2026-09-25.jl 2026-09-24 23:32:18 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 7345, 'downloader/request_count': 23, 'downloader/request_method_count/GET': 23, 'downloader/response_bytes': 1854544, 'downloader/response_count': 23, 'downloader/response_status_count/200': 23, 'elapsed_time_seconds': 102.635198, 'feedexport/success_count/S3FeedStorage': 1, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 9, 24, 23, 32, 18, 810298, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 7015785, 'httpcompression/response_count': 23, 'item_scraped_count': 4, 'log_count/DEBUG': 217, 'log_count/INFO': 37, 'memusage/max': 140881920, 'memusage/startup': 123899904, '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(2026, 9, 24, 23, 30, 36, 175100, tzinfo=datetime.timezone.utc)} 2026-09-24 23:32:18 [scrapy.core.engine] INFO: Spider closed (finished) 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.started 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.complete 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.started 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.complete 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.started 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.complete 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.started 2026-09-24 23:32:19 [httpcore.connection] DEBUG: close.complete