2026-03-21 22:15:22 [scrapy.utils.log] INFO: Scrapy 2.11.1 started (bot: news_scraper) 2026-03-21 22:15:22 [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-164-generic-x86_64-with 2026-03-21 22:15:22 [scrapy.addons] INFO: Enabled addons: [] 2026-03-21 22:15:22 [asyncio] DEBUG: Using selector: EpollSelector 2026-03-21 22:15:22 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-03-21 22:15:22 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-03-21 22:15:22 [scrapy.extensions.telnet] INFO: Telnet Password: 0b3b5c461e4def8a 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-call.apigateway to before-call.api-gateway 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/endpoints.json 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/sdk-default-configuration.json 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event choose-service-name: calling handler 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/service-2.json.gz 2026-03-21 22:15:22 [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-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/partitions.json 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler ._handler at 0x7f63c6890860> 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-03-21 22:15:22 [botocore.endpoint] DEBUG: Setting s3 timeout as (60, 60) 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/_retry.json 2026-03-21 22:15:22 [botocore.client] DEBUG: Registering retry handlers for service: s3 2026-03-21 22:15:22 [botocore.utils] DEBUG: Registering S3 region redirector handler 2026-03-21 22:15:22 [botocore.utils] DEBUG: Registering S3Express Identity Resolver 2026-03-21 22:15:22 [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-03-21 22:15:22 [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/vnexpress_timestamp/6cfb5372257311f1a8c68655d067ffdb.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-03-21 22:15:22 [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-03-21 22:15:22 [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-03-21 22:15:22 [scrapy.middleware] INFO: Enabled item pipelines: [] 2026-03-21 22:15:22 [scrapy.core.engine] INFO: Spider opened 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-call.apigateway to before-call.api-gateway 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/endpoints.json 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/sdk-default-configuration.json 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event choose-service-name: calling handler 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/service-2.json.gz 2026-03-21 22:15:22 [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-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/partitions.json 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler ._handler at 0x7f63c58f5940> 2026-03-21 22:15:22 [botocore.hooks] DEBUG: Event creating-client-class.s3: calling handler 2026-03-21 22:15:22 [botocore.endpoint] DEBUG: Setting s3 timeout as (60, 60) 2026-03-21 22:15:22 [botocore.loaders] DEBUG: Loading JSON file: /usr/local/lib/python3.11/site-packages/botocore/data/_retry.json 2026-03-21 22:15:22 [botocore.client] DEBUG: Registering retry handlers for service: s3 2026-03-21 22:15:22 [botocore.utils] DEBUG: Registering S3 region redirector handler 2026-03-21 22:15:22 [botocore.utils] DEBUG: Registering S3Express Identity Resolver 2026-03-21 22:15:22 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-03-21 22:15:22 [vnexpress_timestamp] INFO: Spider opened: vnexpress_timestamp 2026-03-21 22:15:22 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6025 2026-03-21 22:15:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-03-21 22:15:28 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-03-21 22:15:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/) 2026-03-21 22:15:34 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:15:34 [vnexpress_timestamp] INFO: 2026-03-22 02:52:11 smaller than 2026-03-22 05:00:00 2026-03-21 22:15:36 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:15:36 [vnexpress_timestamp] INFO: 2026-03-22 02:52:38 smaller than 2026-03-22 05:00:00 2026-03-21 22:15:38 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:15:38 [vnexpress_timestamp] INFO: 2026-03-22 04:16:03 smaller than 2026-03-22 05:00:00 2026-03-21 22:15:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:15: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: Bugatti hợp tác với Factor Bikes ở Anh, một chuyên gia về xe đạp đua để sản xuất chiếc Bugatti Factor One, giới hạn 250 chiếc trên toàn thế giới và giống như những chiếc xe hơi của Bugatti, chủ yếu sử dụng vật liệu cao cấp. Xe có khung hoàn toàn bằng sợi carbon được thiết kế để lướt trong không khí với lực cản tối thiểu, và được tô điểm bằng lớp sơn hai tông màu xanh Bugatti đặc trưng. Dòng chữ Bugatti màu trắng cỡ lớn chạy dọc khung xe. Ngoài khung carbon, Factor One còn sử dụng vành xe siêu nhẹ chỉ nặng 1,298 kg mỗi cặp, cũng nhờ vào cấu trúc sợi carbon. Xe thậm chí còn có cọc yên bằng sợi carbon, đĩa xích bằng carbon, đùi đĩa bằng carbon và đĩa phanh với thân trung tâm bằng carbon. Bugatti và Factor One còn hợp tác với Continental để tạo ra một bộ lốp xe tùy chỉnh GP5000 TT TR. Một món đồ hiệu khác là yên xe Selle Italia. Bugatti giữ kín thông tin về giá cả, nhưng Factor Bikes xác nhận mức giá khởi điểm 23.599 USD. Tại Mỹ, con số này cao hơn cả một chiếc Toyota Corolla mới tinh có giá 22.925 USD. Factor không phải là thương hiệu xe đạp đầu tiên hợp tác với nhà sản xuất xe thể thao. Cervélo từng hợp tác với Lamborghini, Colnago có lịch sử lâu dài làm việc với Ferrari, và BMC đã tận dụng kinh nghiệm từ Red Bull Advanced Technologies trong giải đua Công thức 1."}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-03-21 22:15:41 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-03-21 22:15:41 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-03-21 22:15:41 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-03-21 22:15:41 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-03-21 22:15:41 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-03-21 22:15:41 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-03-21 22:15:41 [httpcore.http11] DEBUG: send_request_headers.complete 2026-03-21 22:15:41 [httpcore.http11] DEBUG: send_request_body.started request= 2026-03-21 22:15:41 [httpcore.http11] DEBUG: send_request_body.complete 2026-03-21 22:15:41 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-03-21 22:15:44 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sat, 21 Mar 2026 22:15:44 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'9e005115bd5de300-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'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'2670'), (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'149999470'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_44b68e55b01346818e13197f5b62b36e'), (b'set-cookie', b'__cf_bm=hmItmyM712sVXGj9gXGhWh9.TXGFbDJQ2qqzKPOKDkg-1774131341.714999-1.0.1.1-futcFRsdv.CANa66Bf86bYvM0HRdx7dJSrbZEAV8don_PJonxm.lAbv8vsNIRy.Mhz37DIxVgJdwMxWrP81yqsn6BIaB2xRtFZdM.aLyVYa4iAf.B6MxCqlrEGOppE0u; HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 21 Mar 2026 22:45:44 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-03-21 22:15:44 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-03-21 22:15:44 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-03-21 22:15:44 [httpcore.http11] DEBUG: receive_response_body.complete 2026-03-21 22:15:44 [httpcore.http11] DEBUG: response_closed.started 2026-03-21 22:15:44 [httpcore.http11] DEBUG: response_closed.complete 2026-03-21 22:15:44 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers({'date': 'Sat, 21 Mar 2026 22:15:44 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'cf-ray': '9e005115bd5de300-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', 'openai-organization': 'user-bmggli0qfnphtzkdehrnfdrn', 'openai-processing-ms': '2670', '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': '149999470', 'x-ratelimit-reset-requests': '2ms', 'x-ratelimit-reset-tokens': '0s', 'x-request-id': 'req_44b68e55b01346818e13197f5b62b36e', 'set-cookie': '__cf_bm=hmItmyM712sVXGj9gXGhWh9.TXGFbDJQ2qqzKPOKDkg-1774131341.714999-1.0.1.1-futcFRsdv.CANa66Bf86bYvM0HRdx7dJSrbZEAV8don_PJonxm.lAbv8vsNIRy.Mhz37DIxVgJdwMxWrP81yqsn6BIaB2xRtFZdM.aLyVYa4iAf.B6MxCqlrEGOppE0u; HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 21 Mar 2026 22:45:44 GMT', 'content-encoding': 'gzip', 'alt-svc': 'h3=":443"; ma=86400'}) 2026-03-21 22:15:44 [openai._base_client] DEBUG: request_id: req_44b68e55b01346818e13197f5b62b36e 2026-03-21 22:15:44 [vnexpress_timestamp] INFO: Min timestamp: 2026-03-22 05:00:00, Published timestamp: 2026-03-22 05:00:00 2026-03-21 22:15:44 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-03-21 22:15:59 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 411 2026-03-21 22:15:59 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vnexpress.net/xe-dap-dat-hon-mot-chiec-toyota-corolla-5053174.html> {'audio_url': 'https://lake-api.actable.ai/tts-data/qpmeeudp-2026-03-21%2022%3A15%3A44.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20260321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260321T221557Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=28b6721f4a6bc844a6a9313adc95c94c4a572b5c2a154c94c081ed3d198773dc', 'author': 'Mỹ Anh', 'category': 'Xe', 'content': 'Bugatti hợp tác với Factor Bikes ở Anh, một chuyên gia về xe đạp ' 'đua để sản xuất chiếc Bugatti Factor One, giới hạn 250 chiếc trên ' 'toàn thế giới và giống như những chiếc xe hơi của Bugatti, chủ ' 'yếu sử dụng vật liệu cao cấp. Xe có khung hoàn toàn bằng sợi ' 'carbon được thiết kế để lướt trong không khí với lực cản tối ' 'thiểu, và được tô điểm bằng lớp sơn hai tông màu xanh Bugatti đặc ' 'trưng. Dòng chữ Bugatti màu trắng cỡ lớn chạy dọc khung xe. Ngoài ' 'khung carbon, Factor One còn sử dụng vành xe siêu nhẹ chỉ nặng ' '1,298 kg mỗi cặp, cũng nhờ vào cấu trúc sợi carbon. Xe thậm chí ' 'còn có cọc yên bằng sợi carbon, đĩa xích bằng carbon, đùi đĩa ' 'bằng carbon và đĩa phanh với thân trung tâm bằng carbon. Bugatti ' 'và Factor One còn hợp tác với Continental để tạo ra một bộ lốp xe ' 'tùy chỉnh GP5000 TT TR. Một món đồ hiệu khác là yên xe Selle ' 'Italia. Bugatti giữ kín thông tin về giá cả, nhưng Factor Bikes ' 'xác nhận mức giá khởi điểm 23.599 USD. Tại Mỹ, con số này cao hơn ' 'cả một chiếc Toyota Corolla mới tinh có giá 22.925 USD. Factor ' 'không phải là thương hiệu xe đạp đầu tiên hợp tác với nhà sản ' 'xuất xe thể thao. Cervélo từng hợp tác với Lamborghini, Colnago ' 'có lịch sử lâu dài làm việc với Ferrari, và BMC đã tận dụng kinh ' 'nghiệm từ Red Bull Advanced Technologies trong giải đua Công thức ' '1.', 'description': 'Mẫu xe hai bánh của thương hiệu siêu xe Pháp Bugatti sử dụng ' 'vật liệu chính là sợi carbon với giá bán cao hơn một chiếc ' 'Corolla mới.', 'html_content': '
\n' '

Bugatti hợp tác với Factor Bikes ở Anh, ' 'một chuyên gia về xe đạp đua để sản xuất chiếc Bugatti ' 'Factor One, giới hạn 250 chiếc trên toàn thế giới và giống ' 'như những chiếc xe hơi của Bugatti, chủ yếu sử dụng vật liệu ' 'cao cấp.

Xe có khung hoàn toàn bằng sợi ' 'carbon được thiết kế để lướt trong không khí với lực cản tối ' 'thiểu, và được tô điểm bằng lớp sơn hai tông màu xanh ' 'Bugatti đặc trưng. Dòng chữ Bugatti màu trắng cỡ lớn chạy ' 'dọc khung xe.

Ngoài khung ' 'carbon, Factor One còn sử dụng vành xe siêu nhẹ chỉ nặng ' '1,298 kg mỗi cặp, cũng nhờ vào cấu trúc sợi carbon. Xe thậm ' 'chí còn có cọc yên bằng sợi carbon, đĩa xích bằng carbon, ' 'đùi đĩa bằng carbon và đĩa phanh với thân trung tâm bằng ' 'carbon. Bugatti và Factor One còn hợp tác với Continental để ' 'tạo ra một bộ lốp xe tùy chỉnh GP5000 TT TR. Một món đồ hiệu ' 'khác là yên xe Selle Italia.

Bugatti ' 'giữ kín thông tin về giá cả, nhưng Factor Bikes xác nhận mức ' 'giá khởi điểm 23.599 USD. Tại Mỹ, con số này cao hơn cả một ' 'chiếc Toyota Corolla mới tinh có giá 22.925 ' 'USD.

Factor không phải là thương hiệu ' 'xe đạp đầu tiên hợp tác với nhà sản xuất xe thể thao. ' 'Cervélo từng hợp tác với Lamborghini, Colnago có lịch sử lâu ' 'dài làm việc với Ferrari, và BMC đã tận dụng kinh nghiệm từ ' 'Red Bull Advanced Technologies trong giải đua Công thức ' '1.

Mỹ ' 'Anh (theo BikeRadar)

\n' '\n' '\n' '\n' '\n' '
', 'md_content': '\n' 'Bugatti hợp tác với Factor Bikes ở Anh, một chuyên gia về xe ' 'đạp đua để sản xuất chiếc Bugatti Factor One, giới hạn 250 ' 'chiếc trên toàn thế giới và giống như những chiếc xe hơi của ' 'Bugatti, chủ yếu sử dụng vật liệu cao cấp.\n' '\n' 'Xe có khung hoàn toàn bằng sợi carbon được thiết kế để lướt ' 'trong không khí với lực cản tối thiểu, và được tô điểm bằng ' 'lớp sơn hai tông màu xanh Bugatti đặc trưng. Dòng chữ Bugatti ' 'màu trắng cỡ lớn chạy dọc khung xe.\n' '\n' 'Ngoài khung carbon, Factor One còn sử dụng vành xe siêu nhẹ ' 'chỉ nặng 1,298 kg mỗi cặp, cũng nhờ vào cấu trúc sợi carbon. ' 'Xe thậm chí còn có cọc yên bằng sợi carbon, đĩa xích bằng ' 'carbon, đùi đĩa bằng carbon và đĩa phanh với thân trung tâm ' 'bằng carbon. Bugatti và Factor One còn hợp tác với Continental ' 'để tạo ra một bộ lốp xe tùy chỉnh GP5000 TT TR. Một món đồ ' 'hiệu khác là yên xe Selle Italia.\n' '\n' 'Bugatti giữ kín thông tin về giá cả, nhưng Factor Bikes xác ' 'nhận mức giá khởi điểm 23.599 USD. Tại Mỹ, con số này cao hơn ' 'cả một chiếc [Toyota ' 'Corolla](https://vnexpress.net/oto-xe-may/v-car/dong-xe/toyota-corolla-altis-148) ' 'mới tinh có giá 22.925 USD.\n' '\n' 'Factor không phải là thương hiệu xe đạp đầu tiên hợp tác với ' 'nhà sản xuất xe thể thao. Cervélo từng hợp tác với ' 'Lamborghini, Colnago có lịch sử lâu dài làm việc với Ferrari, ' 'và BMC đã tận dụng kinh nghiệm từ Red Bull Advanced ' 'Technologies trong giải đua Công thức 1.\n' '\n' '**Mỹ Anh** (theo *BikeRadar*)\n' '\n' '\n' '\n' '\n' '\n' '\n', 'published_date': datetime.date(2026, 3, 22), 'published_timestamp': datetime.datetime(2026, 3, 22, 5, 0), 'source': 'VnExpress', 'tags': ['Bugatti', 'Factor Bikes', 'Bugatti Factor One', 'xe đạp đua', 'vật liệu cao cấp', 'khung sợi carbon', 'lực cản tối thiểu', 'sơn hai tông màu', 'vành xe siêu nhẹ', 'cọc yên carbon', 'đĩa xích carbon', 'đùi đĩa carbon', 'đĩa phanh carbon', 'lốp xe tùy chỉnh', 'GP5000 TT TR', 'yên xe Selle Italia', 'giá xe đạp', 'hợp tác thương hiệu', 'Cervélo', 'Lamborghini', 'Colnago', 'Ferrari', 'BMC', 'Red Bull Advanced Technologies', 'Công thức 1'], 'title': 'Xe đạp đắt hơn một chiếc Toyota Corolla', 'url': 'https://vnexpress.net/xe-dap-dat-hon-mot-chiec-toyota-corolla-5053174.html', 'voice': 'SG-Nu-1-DT'} 2026-03-21 22:15:59 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:15:59 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/tiem-kich-israel-bi-ten-lua-iran-nham-ban-5053289.html 2026-03-21 22:16:01 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:02 [httpcore.connection] DEBUG: close.started 2026-03-21 22:16:02 [httpcore.connection] DEBUG: close.complete 2026-03-21 22:16:02 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/van-mai-huong-ha-anh-tuan-khuay-dong-dem-nhac-voi-loat-hit-5052357.html 2026-03-21 22:16:04 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:04 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/sac-vang-trong-tranh-van-gogh-5052253.html 2026-03-21 22:16:05 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:06 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/cac-nha-khoa-hoc-trung-cu-dai-bieu-quoc-hoi-khoa-16-5053335.html 2026-03-21 22:16:08 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:08 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/bo-chinh-tri-yeu-cau-dam-bao-nguon-cung-on-dinh-gia-xang-dau-5053340.html 2026-03-21 22:16:10 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:10 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/giam-doc-trung-tam-dang-kiem-tau-ca-lam-dong-bi-bat-5053332.html 2026-03-21 22:16:12 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:12 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/nghi-pham-giet-nguoi-nuoc-ngoai-bi-bat-tai-san-bay-tan-son-nhat-5053342.html 2026-03-21 22:16:15 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:15 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/liverpool-thua-brighton-lo-co-hoi-vao-top-4-5053349.html 2026-03-21 22:16:17 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:17 [vnexpress_timestamp] INFO: 2026-03-21 is out of date range: from 2026-03-22 to 2026-03-22, skipping article: https://vnexpress.net/tiep-tuc-lui-thuc-hien-nghi-dinh-46-ve-an-toan-thuc-pham-5053346.html 2026-03-21 22:16:19 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:19 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:21 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:22 [scrapy.extensions.logstats] INFO: Crawled 18 pages (at 18 pages/min), scraped 1 items (at 1 items/min) 2026-03-21 22:16:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:23 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:26 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:26 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:28 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:29 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:31 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:34 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:34 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:37 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:37 [vnexpress_timestamp] INFO: 2026-03-22 00:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:40 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:40 [vnexpress_timestamp] INFO: 2026-03-22 00:01:31 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:41 [vnexpress_timestamp] INFO: 2026-03-22 00:03:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:44 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:44 [vnexpress_timestamp] INFO: 2026-03-22 00:03:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:46 [vnexpress_timestamp] INFO: 2026-03-22 00:16:11 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:49 [vnexpress_timestamp] INFO: 2026-03-22 01:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:51 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:51 [vnexpress_timestamp] INFO: 2026-03-22 01:00:00 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:53 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:53 [vnexpress_timestamp] INFO: 2026-03-22 02:31:40 smaller than 2026-03-22 05:00:00 2026-03-21 22:16:55 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:16:56 [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 Wall Street Journal và CNBC , OpenAI đang phát triển siêu ứng dụng dành cho máy tính, kết hợp ba sản phẩm chủ lực gồm chatbot ChatGPT, công cụ hỗ trợ lập trình Codex và trình duyệt Atlas. Kế hoạch này là một phần trong nỗ lực đơn giản hóa hệ sinh thái sản phẩm ngày càng phức tạp của OpenAI. Trong thông báo nội bộ bị rò rỉ, Fidji Simo, Giám đốc mảng ứng dụng của công ty, thừa nhận sự phân mảnh giữa các công cụ đang "kìm hãm tốc độ phát triển, khiến khó đạt được tiêu chuẩn chất lượng như mong muốn". "Các công ty luôn trải qua giai đoạn khám phá, sau đó là tái tập trung. Cả hai đều quan trọng. Khi những dự án mới như Codex bắt đầu phát huy hiệu quả, điều quan trọng là phải dồn toàn lực vào chúng và tránh xa những mục tiêu gây xao nhãng", bà Simo cũng viết trên X. Quyết định hợp nhất diễn ra trong bối cảnh OpenAI đối mặt với sự cạnh tranh gay gắt từ Anthropic, đặc biệt sau khi công cụ lập trình Claude của đối thủ này đạt sự tăng trưởng vượt bậc về độ phổ biến. Việc tạo ứng dụng thống nhất không chỉ giúp tối ưu hóa trải nghiệm người dùng mà còn giúp công ty của Sam Altman tập trung nguồn lực vào khả năng xử lý tốt mục tiêu cốt lõi thay vì phân tâm bởi các nhiệm vụ phụ. Dự án siêu ứng dụng sẽ do Fidji Simo trực tiếp điều hành với sự hỗ trợ từ Chủ tịch Greg Brockman. Kể từ khi gia nhập công ty vào tháng 5/2025, bà Simo luôn nhấn mạnh tính kỷ luật trong phát triển sản phẩm, nhất là khi OpenAI đang chuẩn bị cho khả năng phát hành cổ phiếu lần đầu, dự kiến diễn ra năm nay. Người phát ngôn của OpenAI từ chối bình luận. Tuy nhiên, một nguồn tin nội bộ khẳng định phiên bản ChatGPT trên thiết bị di động sẽ giữ nguyên và không bị ảnh hưởng bởi đợt hợp nhất trên máy tính. Kể từ khi gây sốt toàn cầu năm 2022, OpenAI liên tục tung ra nhiều sản phẩm mới như ứng dụng tạo video Sora hay thâu tóm công ty phần cứng AI của Jony Ive. Ra mắt siêu ứng dụng được đánh giá là bước đi chiến lược để công ty duy trì lợi thế trước các gã khổng lồ như Google và các đối thủ mới nổi.'}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-03-21 22:16:56 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-03-21 22:16:56 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-03-21 22:16:56 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-03-21 22:16:56 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-03-21 22:16:56 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-03-21 22:16:56 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-03-21 22:16:56 [httpcore.http11] DEBUG: send_request_headers.complete 2026-03-21 22:16:56 [httpcore.http11] DEBUG: send_request_body.started request= 2026-03-21 22:16:56 [httpcore.http11] DEBUG: send_request_body.complete 2026-03-21 22:16:56 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-03-21 22:16:59 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sat, 21 Mar 2026 22:16:59 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'9e0052e68ebcdc87-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'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'1983'), (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'149999222'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_34b696b5459d4d35b8c8d93db7713fc0'), (b'set-cookie', b'__cf_bm=Tsh3ytLqoxG7ZLtBmLh2Ci75th9OcvU1MmvPVBjY4ig-1774131416.0886946-1.0.1.1-APlFuMtg4s6NtrCqFOzV0NKbk.fzgzh7Lgfoav1RTMg22DiolG3SPfuf9VCKnxyLfTe5dtJX7QbHCAniKvaJxNGtpWoJml1n4rmVgqyqj0UKYysGJrdQOkr1NHrWHm50; HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 21 Mar 2026 22:46:59 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-03-21 22:16:59 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-03-21 22:16:59 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-03-21 22:16:59 [httpcore.http11] DEBUG: receive_response_body.complete 2026-03-21 22:16:59 [httpcore.http11] DEBUG: response_closed.started 2026-03-21 22:16:59 [httpcore.http11] DEBUG: response_closed.complete 2026-03-21 22:16:59 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers({'date': 'Sat, 21 Mar 2026 22:16:59 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'cf-ray': '9e0052e68ebcdc87-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', 'openai-organization': 'user-bmggli0qfnphtzkdehrnfdrn', 'openai-processing-ms': '1983', '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': '149999222', 'x-ratelimit-reset-requests': '2ms', 'x-ratelimit-reset-tokens': '0s', 'x-request-id': 'req_34b696b5459d4d35b8c8d93db7713fc0', 'set-cookie': '__cf_bm=Tsh3ytLqoxG7ZLtBmLh2Ci75th9OcvU1MmvPVBjY4ig-1774131416.0886946-1.0.1.1-APlFuMtg4s6NtrCqFOzV0NKbk.fzgzh7Lgfoav1RTMg22DiolG3SPfuf9VCKnxyLfTe5dtJX7QbHCAniKvaJxNGtpWoJml1n4rmVgqyqj0UKYysGJrdQOkr1NHrWHm50; HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 21 Mar 2026 22:46:59 GMT', 'content-encoding': 'gzip', 'alt-svc': 'h3=":443"; ma=86400'}) 2026-03-21 22:16:59 [openai._base_client] DEBUG: request_id: req_34b696b5459d4d35b8c8d93db7713fc0 2026-03-21 22:16:59 [vnexpress_timestamp] INFO: Min timestamp: 2026-03-22 05:00:00, Published timestamp: 2026-03-22 05:00:00 2026-03-21 22:16:59 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-03-21 22:17:21 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 411 2026-03-21 22:17:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vnexpress.net/openai-dang-tao-sieu-ung-dung-tren-may-tinh-5053088.html> {'audio_url': 'https://lake-api.actable.ai/tts-data/fbrkmnqs-2026-03-21%2022%3A16%3A59.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20260321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260321T221720Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=bf2eb45247b9ac7aca4afd66d1ae7f5c83684c8847735ffaf42d944e1d5cb057', 'author': 'Huy Đức', 'category': 'Khoa học công nghệ', 'content': 'Theo Wall Street Journal và CNBC , OpenAI đang phát triển siêu ' 'ứng dụng dành cho máy tính, kết hợp ba sản phẩm chủ lực gồm ' 'chatbot ChatGPT, công cụ hỗ trợ lập trình Codex và trình duyệt ' 'Atlas. Kế hoạch này là một phần trong nỗ lực đơn giản hóa hệ sinh ' 'thái sản phẩm ngày càng phức tạp của OpenAI. Trong thông báo nội ' 'bộ bị rò rỉ, Fidji Simo, Giám đốc mảng ứng dụng của công ty, thừa ' 'nhận sự phân mảnh giữa các công cụ đang "kìm hãm tốc độ phát ' 'triển, khiến khó đạt được tiêu chuẩn chất lượng như mong muốn". ' '"Các công ty luôn trải qua giai đoạn khám phá, sau đó là tái tập ' 'trung. Cả hai đều quan trọng. Khi những dự án mới như Codex bắt ' 'đầu phát huy hiệu quả, điều quan trọng là phải dồn toàn lực vào ' 'chúng và tránh xa những mục tiêu gây xao nhãng", bà Simo cũng ' 'viết trên X. Quyết định hợp nhất diễn ra trong bối cảnh OpenAI ' 'đối mặt với sự cạnh tranh gay gắt từ Anthropic, đặc biệt sau khi ' 'công cụ lập trình Claude của đối thủ này đạt sự tăng trưởng vượt ' 'bậc về độ phổ biến. Việc tạo ứng dụng thống nhất không chỉ giúp ' 'tối ưu hóa trải nghiệm người dùng mà còn giúp công ty của Sam ' 'Altman tập trung nguồn lực vào khả năng xử lý tốt mục tiêu cốt ' 'lõi thay vì phân tâm bởi các nhiệm vụ phụ. Dự án siêu ứng dụng sẽ ' 'do Fidji Simo trực tiếp điều hành với sự hỗ trợ từ Chủ tịch Greg ' 'Brockman. Kể từ khi gia nhập công ty vào tháng 5/2025, bà Simo ' 'luôn nhấn mạnh tính kỷ luật trong phát triển sản phẩm, nhất là ' 'khi OpenAI đang chuẩn bị cho khả năng phát hành cổ phiếu lần đầu, ' 'dự kiến diễn ra năm nay. Người phát ngôn của OpenAI từ chối bình ' 'luận. Tuy nhiên, một nguồn tin nội bộ khẳng định phiên bản ' 'ChatGPT trên thiết bị di động sẽ giữ nguyên và không bị ảnh hưởng ' 'bởi đợt hợp nhất trên máy tính. Kể từ khi gây sốt toàn cầu năm ' '2022, OpenAI liên tục tung ra nhiều sản phẩm mới như ứng dụng tạo ' 'video Sora hay thâu tóm công ty phần cứng AI của Jony Ive. Ra mắt ' 'siêu ứng dụng được đánh giá là bước đi chiến lược để công ty duy ' 'trì lợi thế trước các gã khổng lồ như Google và các đối thủ mới ' 'nổi.', 'description': 'Một số nguồn tin cho biết OpenAI đang hợp nhất các công cụ ' 'rời rạc của công ty như chatbot, trình duyệt và ứng dụng lập ' 'trình vào một nền tảng duy nhất trên PC.', 'html_content': '
\n' '

Theo Wall Street Journal và ' 'CNBC, OpenAI đang phát triển siêu ứng dụng dành cho ' 'máy tính, kết hợp ba sản phẩm chủ lực gồm chatbot ChatGPT, ' 'công cụ hỗ trợ lập trình Codex và trình duyệt Atlas.

Kế hoạch này là một phần trong nỗ lực đơn ' 'giản hóa hệ sinh thái sản phẩm ngày càng phức tạp của ' 'OpenAI. Trong thông báo nội bộ bị rò rỉ, Fidji Simo, Giám ' 'đốc mảng ứng dụng của công ty, thừa nhận sự phân mảnh giữa ' 'các công cụ đang "kìm hãm tốc độ phát triển, khiến khó đạt ' 'được tiêu chuẩn chất lượng như mong muốn".

"Các công ty luôn trải qua giai đoạn khám ' 'phá, sau đó là tái tập trung. Cả hai đều quan trọng. Khi ' 'những dự án mới như Codex bắt đầu phát huy hiệu quả, điều ' 'quan trọng là phải dồn toàn lực vào chúng và tránh xa những ' 'mục tiêu gây xao nhãng", bà Simo cũng viết trên X.

Quyết định hợp nhất diễn ra trong bối cảnh ' 'OpenAI đối mặt với sự cạnh tranh gay gắt từ Anthropic, đặc ' 'biệt sau khi công cụ lập trình Claude của đối thủ này đạt sự ' 'tăng trưởng vượt bậc về độ phổ biến. Việc tạo ứng dụng thống ' 'nhất không chỉ giúp tối ưu hóa trải nghiệm người dùng mà còn ' 'giúp công ty của Sam Altman tập trung nguồn lực vào khả năng ' 'xử lý tốt mục tiêu cốt lõi thay vì phân tâm bởi các nhiệm vụ ' 'phụ.

\n' '
\n' '\n' '\n' '\n' '\n' '
\n' '\n' '\n' '\n' 'Logo OpenAI và một '
                 'số sản phẩm của công ty hiển thị trên một smartphone. '
                 'Ảnh:Reuters\n' '
\n' '
\n' '

Logo OpenAI và một số sản phẩm của công ty ' 'hiển thị trên một smartphone. Ảnh: Reuters

\n' '
\n' '

Dự án siêu ứng dụng sẽ do Fidji ' 'Simo trực tiếp điều hành với sự hỗ trợ từ Chủ tịch Greg ' 'Brockman. Kể từ khi gia nhập công ty vào tháng 5/2025, bà ' 'Simo luôn nhấn mạnh tính kỷ luật trong phát triển sản phẩm, ' 'nhất là khi OpenAI đang chuẩn bị cho khả năng phát hành cổ ' 'phiếu lần đầu, dự kiến diễn ra năm nay.

Người phát ngôn của OpenAI từ chối bình luận. ' 'Tuy nhiên, một nguồn tin nội bộ khẳng định phiên bản ChatGPT ' 'trên thiết bị di động sẽ giữ nguyên và không bị ảnh hưởng ' 'bởi đợt hợp nhất trên máy tính.

Kể từ ' 'khi gây sốt toàn cầu năm 2022, OpenAI liên tục tung ra nhiều ' 'sản phẩm mới như ứng dụng tạo video Sora hay thâu tóm công ' 'ty phần cứng AI của Jony Ive. Ra mắt siêu ứng dụng được đánh ' 'giá là bước đi chiến lược để công ty duy trì lợi thế trước ' 'các gã khổng lồ như Google và các đối thủ mới nổi.

Huy ' 'Đức

\n' '\n' '\n' '\n' '\n' '
', 'md_content': '\n' 'Theo *Wall Street Journal* và *CNBC*, OpenAI đang phát triển ' 'siêu ứng dụng dành cho máy tính, kết hợp ba sản phẩm chủ lực ' 'gồm chatbot ChatGPT, công cụ hỗ trợ lập trình Codex và trình ' 'duyệt Atlas.\n' '\n' 'Kế hoạch này là một phần trong nỗ lực đơn giản hóa hệ sinh ' 'thái sản phẩm ngày càng phức tạp của OpenAI. Trong thông báo ' 'nội bộ bị rò rỉ, Fidji Simo, Giám đốc mảng ứng dụng của công ' 'ty, thừa nhận sự phân mảnh giữa các công cụ đang "kìm hãm tốc ' 'độ phát triển, khiến khó đạt được tiêu chuẩn chất lượng như ' 'mong muốn".\n' '\n' '"Các công ty luôn trải qua giai đoạn khám phá, sau đó là tái ' 'tập trung. Cả hai đều quan trọng. Khi những dự án mới như ' 'Codex bắt đầu phát huy hiệu quả, điều quan trọng là phải dồn ' 'toàn lực vào chúng và tránh xa những mục tiêu gây xao nhãng", ' 'bà Simo cũng viết trên X.\n' '\n' 'Quyết định hợp nhất diễn ra trong bối cảnh OpenAI đối mặt với ' 'sự cạnh tranh gay gắt từ Anthropic, đặc biệt sau khi công cụ ' 'lập trình Claude của đối thủ này đạt sự tăng trưởng vượt bậc ' 'về độ phổ biến. Việc tạo ứng dụng thống nhất không chỉ giúp ' 'tối ưu hóa trải nghiệm người dùng mà còn giúp công ty của Sam ' 'Altman tập trung nguồn lực vào khả năng xử lý tốt mục tiêu cốt ' 'lõi thay vì phân tâm bởi các nhiệm vụ phụ.\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '![Logo OpenAI và một số sản phẩm của công ty hiển thị trên một ' 'smartphone. ' 'Ảnh:Reuters](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)\n' '\n' '\n' 'Logo OpenAI và một số sản phẩm của công ty hiển thị trên một ' 'smartphone. Ảnh: *Reuters*\n' '\n' '\n' '\n' 'Dự án siêu ứng dụng sẽ do Fidji Simo trực tiếp điều hành với ' 'sự hỗ trợ từ Chủ tịch Greg Brockman. Kể từ khi gia nhập công ' 'ty vào tháng 5/2025, bà Simo luôn nhấn mạnh tính kỷ luật trong ' 'phát triển sản phẩm, nhất là khi OpenAI đang chuẩn bị cho khả ' 'năng phát hành cổ phiếu lần đầu, dự kiến diễn ra năm nay.\n' '\n' 'Người phát ngôn của OpenAI từ chối bình luận. Tuy nhiên, một ' 'nguồn tin nội bộ khẳng định phiên bản ChatGPT trên thiết bị di ' 'động sẽ giữ nguyên và không bị ảnh hưởng bởi đợt hợp nhất trên ' 'máy tính.\n' '\n' 'Kể từ khi gây sốt toàn cầu năm 2022, OpenAI liên tục tung ra ' 'nhiều sản phẩm mới như ứng dụng tạo video Sora hay thâu tóm ' 'công ty phần cứng AI của Jony Ive. Ra mắt siêu ứng dụng được ' 'đánh giá là bước đi chiến lược để công ty duy trì lợi thế ' 'trước các gã khổng lồ như Google và các đối thủ mới nổi.\n' '\n' '**Huy Đức**\n' '\n' '\n' '\n' '\n' '\n' '\n', 'published_date': datetime.date(2026, 3, 22), 'published_timestamp': datetime.datetime(2026, 3, 22, 5, 0), 'source': 'VnExpress', 'tags': ['OpenAI', 'siêu ứng dụng', 'ChatGPT', 'Codex', 'Atlas', 'Fidji Simo', 'phát triển sản phẩm', 'phân mảnh công cụ', 'cạnh tranh', 'Anthropic', 'Claude', 'trải nghiệm người dùng', 'tập trung nguồn lực', 'kỷ luật phát triển', 'phát hành cổ phiếu', 'ứng dụng di động', 'sản phẩm mới', 'Sora', 'Jony Ive', 'chiến lược cạnh tranh', 'Google'], 'title': 'OpenAI đang tạo siêu ứng dụng trên máy tính', 'url': 'https://vnexpress.net/openai-dang-tao-sieu-ung-dung-tren-may-tinh-5053088.html', 'voice': 'SG-Nam-1-TM'} 2026-03-21 22:17:21 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://vnexpress.net/tin-tuc-24h) 2026-03-21 22:17: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: Hơn một tuần trước, tàu chở hàng Mayuree Naree tiến vào eo biển Hormuz bất chấp rủi ro ngày càng lớn khi xung đột Iran leo thang. Một cuộc tấn công không có cảnh báo trước là điều mà Samut, một trong 23 thủy thủ trên tàu, lo sợ. Dự cảm không lành đó trở thành sự thật khi một tiếng nổ lớn vang lên. "Khoảng hai giây sau, tiếng nổ thứ hai vang lên", thủy thủ này kể về ngày tàu bị tập kích hôm 11/3. Chuông báo động kêu inh ỏi và khói tràn ngập mọi hành lang. Toàn bộ con tàu chìm trong bóng tối trước khi hệ thống điện dự phòng được kích hoạt. "Chúng tôi không biết quả đạn đến từ hướng nào, ai đã khai hỏa hay liệu có tàu chiến nào ở ngoài kia không. Do đó, không ai dám bước ra ngoài. Mọi người đều chạy thẳng tới buồng lái", Samut nói. Khi họ tới nơi, thuyền trưởng tiến hành điểm danh và phát hiện 3 người đã mất tích. Vào thời điểm tàu bị tấn công, cả ba người này đều đang ở phòng máy, nơi ngọn lửa đang bùng lên dữ dội. Một trong số họ là Chawarit Chaiwong, thủy thủ 35 tuổi đến từ tỉnh Tak, miền tây Thái Lan. Anh làm việc trên biển hơn 10 năm. Suchawadee Malikaeo, vợ của Chawarit, cho biết chồng cô đã có linh cảm xấu về chuyến băng qua eo biển Hormuz lần này. Kể từ khi xung đột Iran bùng phát ngày 28/2, Tehran đã kiểm soát tuyến hàng hải quan trọng qua eo biển Hormuz bằng cách đe dọa tấn công mọi con tàu liên quan tới Mỹ và Israel. Lời cảnh báo đó khiến Mayuree Naree, con tàu chở hàng rời dài 180 mét, bị mắc kẹt tại vịnh Ba Tư và thả neo ở vùng biển ngoài khơi Các tiểu vương quốc Arab Thống nhất (UAE) trong khi chiến tranh nổ ra xung quanh. Suchawadee kể chồng cô nói trong các cuộc điện thoại rằng các thủy thủ có thể nghe thấy tiếng tên lửa bay qua lại trên đầu họ. "Nhưng vấn đề là anh ấy không thực sự biết chúng lao đến từ đâu hay ai là người bắn", cô nói. Vài ngày trước vụ tấn công, Chawarit kể với cô rằng anh thấy một chiếc máy bay không người lái (UAV) lảng vảng quanh tàu. "Anh ấy nói trông nó giống như UAV đang do thám con tàu, nhưng lúc đó không có chuyện gì xảy ra cả", Suchawadee nói. Precious Shipping, công ty sở hữu tàu Mayuree Naree, ngày 10/3 quyết định cho tàu băng qua eo biển, thực hiện hành trình đến thành phố cảng Kandla ở miền tây Ấn Độ để nhận hàng. Ngay cả trong thời bình, việc điều khiển tàu qua eo biển hẹp này cũng đòi hỏi kỹ năng điêu luyện. Nhưng hành trình lần này là thử thách đặc biệt khắc nghiệt đối với thuyền trưởng. Theo một nguồn tin am hiểu hành trình, Precious Shipping đã chỉ thị thuyền trưởng rời điểm neo đậu vào khoảng nửa đêm. Tàu phải di chuyển với tốc độ bình thường, tắt mọi đèn không cần thiết và treo cờ Thái Lan ở vị trí nổi bật. Công ty cũng yêu cầu thuyền trưởng báo cáo tình hình qua WhatsApp mỗi 30 phút, đồng thời thông báo cho các cơ quan chức năng liên quan trong suốt chuyến đi. Họ dự kiến băng qua eo biển Hormuz vào khoảng 7h sáng 11/3. Precious Shipping cho biết trước khi khởi hành, họ đã "thực hiện đánh giá toàn diện về tình hình sau khi tham vấn cố vấn an ninh hàng hải, đơn vị bảo hiểm và các bên liên quan khác". "Con tàu khi đó được đánh giá là phù hợp để đi qua eo biển với các biện pháp phòng ngừa thích hợp được triển khai", tuyên bố của Precious Shipping nêu rõ. Nhưng nhiều thủy thủ đã rất lo sợ khi phải thực hiện hành trình. "Tôi không hoàn toàn chắc chắn, nhưng tôi nghĩ họ ép chúng tôi rời đi vì nếu tàu cứ nằm yên một chỗ, chi phí phát sinh sẽ tăng lên mỗi ngày", Samut nói. "Họ liên tục nói rằng muốn đưa con tàu ra khỏi vùng chiến sự sớm nhất có thể, nhưng vấn đề là để thoát ra ngoài, chúng tôi phải đi xuyên qua nơi nguy hiểm nhất". Trong email phản hồi CNN, Khalid Hashim, giám đốc điều hành của công ty, cho biết vì con tàu đang trong hợp đồng thuê theo kỳ hạn, "chúng tôi có thể chờ đợi mà không tốn thêm chi phí nào". "Chúng tôi không vội vàng đưa con tàu đi", ông nói thêm, dù lưu ý rằng với vị trí của con tàu, "nó có thể bị trúng đạn". Công ty đã yêu cầu thủy thủ ký cam kết miễn trừ trách nhiệm. Trong tài liệu mà CNN xem được, tất cả 23 người đều thừa nhận "rủi ro an ninh gia tăng" liên quan đến cuộc chiến và cho biết họ hiểu quyết định băng qua eo biển của ban lãnh đạo. "Họ đã triệu tập cuộc họp", Samut nói và thêm rằng thủy thủ có rất ít lựa chọn. "Về cơ bản là hoặc tiếp tục ở trên tàu hoặc là không". Suchawadee cho biết chồng cô "hoàn toàn không muốn đi, nhưng anh ấy nói với tôi anh là người duy nhất cảm thấy như vậy. Anh ấy không muốn ở lại khách sạn một mình, nên đã quyết định nếu những người còn lại đi, anh sẽ đi cùng họ". Phó Thủ tướng kiêm Bộ trưởng Giao thông vận tải Thái Lan Pipat Ratchakitprakarn cho biết khi con tàu đang đi qua eo biển, phần đuôi tàu đã bị trúng đạn, gây ra hỏa hoạn trong phòng máy. Theo lệnh của thuyền trưởng, thủy thủ đoàn đã bỏ tàu và sơ tán xuống xuồng cứu sinh. Họ đã được hải quân Oman giải cứu và đưa đến thành phố Khasab, nằm ngay sát eo biển. Vệ binh Cách mạng Hồi giáo Iran (IRGC) sau đó cho biết tàu Mayuree Naree bị tấn công sau khi "phớt lờ các cảnh báo và cố tình tìm cách đi qua eo biển Hormuz một cách bất hợp pháp", theo hãng thông tấn Fars của Iran. Một con tàu treo cờ Liberia cũng bị trúng hỏa lực của Iran trong cùng buổi sáng hôm đó. Hơn 20 tàu chở dầu, tàu hàng và các loại tàu khác đã báo cáo về sự cố trong và xung quanh Vịnh Ba Tư, eo biển Hormuz và vịnh Oman kể từ khi chiến tranh bắt đầu, theo Cơ quan Điều hành Thương mại Hàng hải Vương quốc Anh (UKMTO). 20 thành viên thủy thủ đoàn của tàu Mayuree Naree đã trở về Thái Lan bằng máy bay vào ngày 16/3. Một quan chức từ Cục Lãnh sự Thái Lan nói với hãng tin Reuters rằng tất cả các thuyền viên trở về đều có sức khỏe tốt và "sẵn sàng quay lại làm nhiệm vụ". Nhưng thân nhân của ba người đang mất tích vẫn mòn mỏi chờ đợi với hy vọng có phép màu xảy ra. Trong cuộc điện đàm hôm 15/3, Ngoại trưởng Thái Lan Sihasak Phuangketkeow đã đề nghị người đồng cấp Iran hỗ trợ trong hoạt động tìm kiếm và cứu nạn những người mất tích. Tuy nhiên, đến nay vẫn chưa có tin tức gì về số phận con tàu và ba thủy thủ trên đó. Thiết bị định vị của tàu phát tín hiệu lần cuối ngay sau vụ tấn công. "Các vụ nổ xảy ra ở phần đuôi, ngay dưới phòng máy, do đó tàu bị mất điện và trôi dạt mất kiểm soát", Hashim nói. Điều này đồng nghĩa là hệ thống nhận dạng tự động (AIS), vốn thường phát tín hiệu để thông báo vị trí của tàu, đã ngừng hoạt động. "Tôi nhớ anh ấy mỗi ngày. Mỗi ngày trôi qua, tôi chỉ biết chờ đợi và tự hỏi khi nào mình mới được gặp lại anh ấy. Tôi chỉ muốn biết anh ấy thế nào. Đã bảy, tám ngày rồi, và tôi không thể ngừng suy nghĩ liệu anh ấy có bị thương không? Anh ấy có gì để ăn không? Tôi lo lắng vô cùng", Suchawadee nói. Cô cũng gọi cho Bộ Ngoại giao Thái Lan mỗi ngày và cho biết "họ chỉ nói \'chúng tôi chưa có thông tin nào\'. Tôi phải nghe cùng một câu nói đó suốt những ngày qua".'}], 'model': 'gpt-4o-mini', 'max_tokens': 200, 'temperature': 0.3}} 2026-03-21 22:17:21 [openai._base_client] DEBUG: Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2026-03-21 22:17:21 [httpcore.connection] DEBUG: connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=900 socket_options=None 2026-03-21 22:17:22 [httpcore.connection] DEBUG: connect_tcp.complete return_value= 2026-03-21 22:17:22 [httpcore.connection] DEBUG: start_tls.started ssl_context= server_hostname='api.openai.com' timeout=900 2026-03-21 22:17:22 [httpcore.connection] DEBUG: start_tls.complete return_value= 2026-03-21 22:17:22 [httpcore.http11] DEBUG: send_request_headers.started request= 2026-03-21 22:17:22 [httpcore.http11] DEBUG: send_request_headers.complete 2026-03-21 22:17:22 [httpcore.http11] DEBUG: send_request_body.started request= 2026-03-21 22:17:22 [httpcore.http11] DEBUG: send_request_body.complete 2026-03-21 22:17:22 [httpcore.http11] DEBUG: receive_response_headers.started request= 2026-03-21 22:17:25 [httpcore.http11] DEBUG: receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sat, 21 Mar 2026 22:17:25 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'CF-Ray', b'9e005388a8f00574-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'openai-organization', b'user-bmggli0qfnphtzkdehrnfdrn'), (b'openai-processing-ms', b'2939'), (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'149997705'), (b'x-ratelimit-reset-requests', b'2ms'), (b'x-ratelimit-reset-tokens', b'0s'), (b'x-request-id', b'req_7b7c94450ff24e9ab34ad979bee91d95'), (b'set-cookie', b'__cf_bm=Xi3RoCaBVlCw8mN3X8uLxQaKQZkQ9qYS44ZcENkWswQ-1774131442.0272098-1.0.1.1-KaGs4lLNjmAq5eNprH4hc0WzM40XjjYUjAm6l8vp.XqXS1.gczCtr4e14TY.EZ0b9eYJkvKZfdqY57TDbFtnVFiDpSQGXOjZ7YNKIizoGlpw430lmpMzMqDfkx62_foy; HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 21 Mar 2026 22:47:25 GMT'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2026-03-21 22:17:25 [httpx] INFO: HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2026-03-21 22:17:25 [httpcore.http11] DEBUG: receive_response_body.started request= 2026-03-21 22:17:25 [httpcore.http11] DEBUG: receive_response_body.complete 2026-03-21 22:17:25 [httpcore.http11] DEBUG: response_closed.started 2026-03-21 22:17:25 [httpcore.http11] DEBUG: response_closed.complete 2026-03-21 22:17:25 [openai._base_client] DEBUG: HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers({'date': 'Sat, 21 Mar 2026 22:17:25 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'cf-ray': '9e005388a8f00574-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', 'openai-organization': 'user-bmggli0qfnphtzkdehrnfdrn', 'openai-processing-ms': '2939', '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': '149997705', 'x-ratelimit-reset-requests': '2ms', 'x-ratelimit-reset-tokens': '0s', 'x-request-id': 'req_7b7c94450ff24e9ab34ad979bee91d95', 'set-cookie': '__cf_bm=Xi3RoCaBVlCw8mN3X8uLxQaKQZkQ9qYS44ZcENkWswQ-1774131442.0272098-1.0.1.1-KaGs4lLNjmAq5eNprH4hc0WzM40XjjYUjAm6l8vp.XqXS1.gczCtr4e14TY.EZ0b9eYJkvKZfdqY57TDbFtnVFiDpSQGXOjZ7YNKIizoGlpw430lmpMzMqDfkx62_foy; HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 21 Mar 2026 22:47:25 GMT', 'content-encoding': 'gzip', 'alt-svc': 'h3=":443"; ma=86400'}) 2026-03-21 22:17:25 [openai._base_client] DEBUG: request_id: req_7b7c94450ff24e9ab34ad979bee91d95 2026-03-21 22:17:25 [vnexpress_timestamp] INFO: Min timestamp: 2026-03-22 05:00:00, Published timestamp: 2026-03-22 05:00:00 2026-03-21 22:17:25 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): tts-api:4444 2026-03-21 22:18:16 [urllib3.connectionpool] DEBUG: http://tts-api:4444 "POST /api/v2/text-to-speech HTTP/1.1" 200 413 2026-03-21 22:18:16 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vnexpress.net/thuy-thu-tau-thai-lan-ke-khoanh-khac-bi-tap-kich-o-eo-bien-hormuz-5053106.html> {'audio_url': 'https://lake-api.actable.ai/tts-data/gtewwfmh-2026-03-21%2022%3A17%3A25.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=pmq7GsXVsXQZXqTM0hWE%2F20260321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260321T221815Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=ca0ebf4ee76850938cb5b05bfdd13ead072c9188ac34c8877e233139e5ddd53c', 'author': 'Thanh Tâm', 'category': 'Thế giới', 'content': 'Hơn một tuần trước, tàu chở hàng Mayuree Naree tiến vào eo biển ' 'Hormuz bất chấp rủi ro ngày càng lớn khi xung đột Iran leo thang. ' 'Một cuộc tấn công không có cảnh báo trước là điều mà Samut, một ' 'trong 23 thủy thủ trên tàu, lo sợ. Dự cảm không lành đó trở thành ' 'sự thật khi một tiếng nổ lớn vang lên. "Khoảng hai giây sau, ' 'tiếng nổ thứ hai vang lên", thủy thủ này kể về ngày tàu bị tập ' 'kích hôm 11/3. Chuông báo động kêu inh ỏi và khói tràn ngập mọi ' 'hành lang. Toàn bộ con tàu chìm trong bóng tối trước khi hệ thống ' 'điện dự phòng được kích hoạt. "Chúng tôi không biết quả đạn đến ' 'từ hướng nào, ai đã khai hỏa hay liệu có tàu chiến nào ở ngoài ' 'kia không. Do đó, không ai dám bước ra ngoài. Mọi người đều chạy ' 'thẳng tới buồng lái", Samut nói. Khi họ tới nơi, thuyền trưởng ' 'tiến hành điểm danh và phát hiện 3 người đã mất tích. Vào thời ' 'điểm tàu bị tấn công, cả ba người này đều đang ở phòng máy, nơi ' 'ngọn lửa đang bùng lên dữ dội. Một trong số họ là Chawarit ' 'Chaiwong, thủy thủ 35 tuổi đến từ tỉnh Tak, miền tây Thái Lan. ' 'Anh làm việc trên biển hơn 10 năm. Suchawadee Malikaeo, vợ của ' 'Chawarit, cho biết chồng cô đã có linh cảm xấu về chuyến băng qua ' 'eo biển Hormuz lần này. Kể từ khi xung đột Iran bùng phát ngày ' '28/2, Tehran đã kiểm soát tuyến hàng hải quan trọng qua eo biển ' 'Hormuz bằng cách đe dọa tấn công mọi con tàu liên quan tới Mỹ và ' 'Israel. Lời cảnh báo đó khiến Mayuree Naree, con tàu chở hàng rời ' 'dài 180 mét, bị mắc kẹt tại vịnh Ba Tư và thả neo ở vùng biển ' 'ngoài khơi Các tiểu vương quốc Arab Thống nhất (UAE) trong khi ' 'chiến tranh nổ ra xung quanh. Suchawadee kể chồng cô nói trong ' 'các cuộc điện thoại rằng các thủy thủ có thể nghe thấy tiếng tên ' 'lửa bay qua lại trên đầu họ. "Nhưng vấn đề là anh ấy không thực ' 'sự biết chúng lao đến từ đâu hay ai là người bắn", cô nói. Vài ' 'ngày trước vụ tấn công, Chawarit kể với cô rằng anh thấy một ' 'chiếc máy bay không người lái (UAV) lảng vảng quanh tàu. "Anh ấy ' 'nói trông nó giống như UAV đang do thám con tàu, nhưng lúc đó ' 'không có chuyện gì xảy ra cả", Suchawadee nói. Precious Shipping, ' 'công ty sở hữu tàu Mayuree Naree, ngày 10/3 quyết định cho tàu ' 'băng qua eo biển, thực hiện hành trình đến thành phố cảng Kandla ' 'ở miền tây Ấn Độ để nhận hàng. Ngay cả trong thời bình, việc điều ' 'khiển tàu qua eo biển hẹp này cũng đòi hỏi kỹ năng điêu luyện. ' 'Nhưng hành trình lần này là thử thách đặc biệt khắc nghiệt đối ' 'với thuyền trưởng. Theo một nguồn tin am hiểu hành trình, ' 'Precious Shipping đã chỉ thị thuyền trưởng rời điểm neo đậu vào ' 'khoảng nửa đêm. Tàu phải di chuyển với tốc độ bình thường, tắt ' 'mọi đèn không cần thiết và treo cờ Thái Lan ở vị trí nổi bật. ' 'Công ty cũng yêu cầu thuyền trưởng báo cáo tình hình qua WhatsApp ' 'mỗi 30 phút, đồng thời thông báo cho các cơ quan chức năng liên ' 'quan trong suốt chuyến đi. Họ dự kiến băng qua eo biển Hormuz vào ' 'khoảng 7h sáng 11/3. Precious Shipping cho biết trước khi khởi ' 'hành, họ đã "thực hiện đánh giá toàn diện về tình hình sau khi ' 'tham vấn cố vấn an ninh hàng hải, đơn vị bảo hiểm và các bên liên ' 'quan khác". "Con tàu khi đó được đánh giá là phù hợp để đi qua eo ' 'biển với các biện pháp phòng ngừa thích hợp được triển khai", ' 'tuyên bố của Precious Shipping nêu rõ. Nhưng nhiều thủy thủ đã ' 'rất lo sợ khi phải thực hiện hành trình. "Tôi không hoàn toàn ' 'chắc chắn, nhưng tôi nghĩ họ ép chúng tôi rời đi vì nếu tàu cứ ' 'nằm yên một chỗ, chi phí phát sinh sẽ tăng lên mỗi ngày", Samut ' 'nói. "Họ liên tục nói rằng muốn đưa con tàu ra khỏi vùng chiến sự ' 'sớm nhất có thể, nhưng vấn đề là để thoát ra ngoài, chúng tôi ' 'phải đi xuyên qua nơi nguy hiểm nhất". Trong email phản hồi CNN, ' 'Khalid Hashim, giám đốc điều hành của công ty, cho biết vì con ' 'tàu đang trong hợp đồng thuê theo kỳ hạn, "chúng tôi có thể chờ ' 'đợi mà không tốn thêm chi phí nào". "Chúng tôi không vội vàng đưa ' 'con tàu đi", ông nói thêm, dù lưu ý rằng với vị trí của con tàu, ' '"nó có thể bị trúng đạn". Công ty đã yêu cầu thủy thủ ký cam kết ' 'miễn trừ trách nhiệm. Trong tài liệu mà CNN xem được, tất cả 23 ' 'người đều thừa nhận "rủi ro an ninh gia tăng" liên quan đến cuộc ' 'chiến và cho biết họ hiểu quyết định băng qua eo biển của ban ' 'lãnh đạo. "Họ đã triệu tập cuộc họp", Samut nói và thêm rằng thủy ' 'thủ có rất ít lựa chọn. "Về cơ bản là hoặc tiếp tục ở trên tàu ' 'hoặc là không". Suchawadee cho biết chồng cô "hoàn toàn không ' 'muốn đi, nhưng anh ấy nói với tôi anh là người duy nhất cảm thấy ' 'như vậy. Anh ấy không muốn ở lại khách sạn một mình, nên đã quyết ' 'định nếu những người còn lại đi, anh sẽ đi cùng họ". Phó Thủ ' 'tướng kiêm Bộ trưởng Giao thông vận tải Thái Lan Pipat ' 'Ratchakitprakarn cho biết khi con tàu đang đi qua eo biển, phần ' 'đuôi tàu đã bị trúng đạn, gây ra hỏa hoạn trong phòng máy. Theo ' 'lệnh của thuyền trưởng, thủy thủ đoàn đã bỏ tàu và sơ tán xuống ' 'xuồng cứu sinh. Họ đã được hải quân Oman giải cứu và đưa đến ' 'thành phố Khasab, nằm ngay sát eo biển. Vệ binh Cách mạng Hồi ' 'giáo Iran (IRGC) sau đó cho biết tàu Mayuree Naree bị tấn công ' 'sau khi "phớt lờ các cảnh báo và cố tình tìm cách đi qua eo biển ' 'Hormuz một cách bất hợp pháp", theo hãng thông tấn Fars của Iran. ' 'Một con tàu treo cờ Liberia cũng bị trúng hỏa lực của Iran trong ' 'cùng buổi sáng hôm đó. Hơn 20 tàu chở dầu, tàu hàng và các loại ' 'tàu khác đã báo cáo về sự cố trong và xung quanh Vịnh Ba Tư, eo ' 'biển Hormuz và vịnh Oman kể từ khi chiến tranh bắt đầu, theo Cơ ' 'quan Điều hành Thương mại Hàng hải Vương quốc Anh (UKMTO). 20 ' 'thành viên thủy thủ đoàn của tàu Mayuree Naree đã trở về Thái Lan ' 'bằng máy bay vào ngày 16/3. Một quan chức từ Cục Lãnh sự Thái Lan ' 'nói với hãng tin Reuters rằng tất cả các thuyền viên trở về đều ' 'có sức khỏe tốt và "sẵn sàng quay lại làm nhiệm vụ". Nhưng thân ' 'nhân của ba người đang mất tích vẫn mòn mỏi chờ đợi với hy vọng ' 'có phép màu xảy ra. Trong cuộc điện đàm hôm 15/3, Ngoại trưởng ' 'Thái Lan Sihasak Phuangketkeow đã đề nghị người đồng cấp Iran hỗ ' 'trợ trong hoạt động tìm kiếm và cứu nạn những người mất tích. Tuy ' 'nhiên, đến nay vẫn chưa có tin tức gì về số phận con tàu và ba ' 'thủy thủ trên đó. Thiết bị định vị của tàu phát tín hiệu lần cuối ' 'ngay sau vụ tấn công. "Các vụ nổ xảy ra ở phần đuôi, ngay dưới ' 'phòng máy, do đó tàu bị mất điện và trôi dạt mất kiểm soát", ' 'Hashim nói. Điều này đồng nghĩa là hệ thống nhận dạng tự động ' '(AIS), vốn thường phát tín hiệu để thông báo vị trí của tàu, đã ' 'ngừng hoạt động. "Tôi nhớ anh ấy mỗi ngày. Mỗi ngày trôi qua, tôi ' 'chỉ biết chờ đợi và tự hỏi khi nào mình mới được gặp lại anh ấy. ' 'Tôi chỉ muốn biết anh ấy thế nào. Đã bảy, tám ngày rồi, và tôi ' 'không thể ngừng suy nghĩ liệu anh ấy có bị thương không? Anh ấy ' 'có gì để ăn không? Tôi lo lắng vô cùng", Suchawadee nói. Cô cũng ' 'gọi cho Bộ Ngoại giao Thái Lan mỗi ngày và cho biết "họ chỉ nói ' "'chúng tôi chưa có thông tin nào'. Tôi phải nghe cùng một câu nói " 'đó suốt những ngày qua".', 'description': 'Samut có dự cảm không lành khi tàu Mayuree Naree treo cờ Thái ' 'Lan băng qua eo biển Hormuz và ác mộng bắt đầu với một tiếng ' 'nổ lớn.', 'html_content': '
\n' '

Hơn một tuần trước, tàu chở hàng Mayuree ' 'Naree tiến vào eo biển Hormuz bất chấp rủi ro ngày càng lớn ' 'khi xung đột Iran leo thang. Một cuộc tấn công không có cảnh ' 'báo trước là điều mà Samut, một trong 23 thủy thủ trên tàu, ' 'lo sợ.

Dự cảm không lành đó trở thành ' 'sự thật khi một tiếng nổ lớn vang lên. "Khoảng hai giây sau, ' 'tiếng nổ thứ hai vang lên", thủy thủ này kể về ngày tàu bị ' 'tập kích hôm 11/3.

Chuông báo động kêu ' 'inh ỏi và khói tràn ngập mọi hành lang. Toàn bộ con tàu chìm ' 'trong bóng tối trước khi hệ thống điện dự phòng được kích ' 'hoạt.

"Chúng tôi không biết quả đạn đến ' 'từ hướng nào, ai đã khai hỏa hay liệu có tàu chiến nào ở ' 'ngoài kia không. Do đó, không ai dám bước ra ngoài. Mọi ' 'người đều chạy thẳng tới buồng lái", Samut nói.

\n' '
\n' '\n' '
\n' '
\n' '\n' '
\n' '
\xa0
\n' '
\xa0
\n' '
\n' '
\n' '
\n' '
\n' '
\n' '
\n' '
\n' '
\n' '\n' '
\n' '
\n' '
\n' '\n' '
\n' '
\n' '
\n' '\n' '
\n' '

Khói đen bốc lên từ tàu Mayuree Naree sau ' 'khi bị tấn công ngày 11/3. Video: CNN

\n' '

Khi họ ' 'tới nơi, thuyền trưởng tiến hành điểm danh và phát hiện 3 ' 'người đã mất tích. Vào thời điểm tàu bị tấn công, cả ba ' 'người này đều đang ở phòng máy, nơi ngọn lửa đang bùng lên ' 'dữ dội.

Một trong số họ là Chawarit ' 'Chaiwong, thủy thủ 35 tuổi đến từ tỉnh Tak, miền tây Thái ' 'Lan. Anh làm việc trên biển hơn 10 năm. Suchawadee Malikaeo, ' 'vợ của Chawarit, cho biết chồng cô đã có linh cảm xấu về ' 'chuyến băng qua eo biển Hormuz lần này.

Kể từ khi xung đột Iran bùng phát ngày 28/2, ' 'Tehran đã kiểm soát tuyến hàng hải quan trọng qua eo biển ' 'Hormuz bằng cách đe dọa tấn công mọi con tàu liên quan tới ' 'Mỹ và Israel.

Lời cảnh báo đó khiến ' 'Mayuree Naree, con tàu chở hàng rời dài 180 mét, bị mắc kẹt ' 'tại vịnh Ba Tư và thả neo ở vùng biển ngoài khơi Các tiểu ' 'vương quốc Arab Thống nhất (UAE) trong khi chiến tranh nổ ra ' 'xung quanh. Suchawadee kể chồng cô nói trong các cuộc điện ' 'thoại rằng các thủy thủ có thể nghe thấy tiếng tên lửa bay ' 'qua lại trên đầu họ.

"Nhưng vấn đề là ' 'anh ấy không thực sự biết chúng lao đến từ đâu hay ai là ' 'người bắn", cô nói.

\n' '
\n' '\n' '\n' '\n' '\n' '
\n' '\n' '\n' '\n' 'Ảnh tàu hàng '
                 'Mayuree Naree bốc khói đen sau khi bị tấn công gần Eo biển '
                 'Hormuz được công bố ngày 11/3. Ảnh: Hải quân Thái Lan\n' '
\n' '
\n' '

Ảnh tàu hàng Mayuree Naree bốc khói đen sau ' 'khi bị tấn công gần eo biển Hormuz được công bố ngày 11/3. ' 'Ảnh: Hải quân Thái Lan

\n' '
\n' '

Vài ngày trước vụ tấn công, ' 'Chawarit kể với cô rằng anh thấy một chiếc máy bay không ' 'người lái (UAV) lảng vảng quanh tàu. "Anh ấy nói trông nó ' 'giống như UAV đang do thám con tàu, nhưng lúc đó không có ' 'chuyện gì xảy ra cả", Suchawadee nói.

Precious Shipping, công ty sở hữu tàu Mayuree ' 'Naree, ngày 10/3 quyết định cho tàu băng qua eo biển, thực ' 'hiện hành trình đến thành phố cảng Kandla ở miền tây Ấn Độ ' 'để nhận hàng. Ngay cả trong thời bình, việc điều khiển tàu ' 'qua eo biển hẹp này cũng đòi hỏi kỹ năng điêu luyện. Nhưng ' 'hành trình lần này là thử thách đặc biệt khắc nghiệt đối với ' 'thuyền trưởng.

Theo một nguồn tin am ' 'hiểu hành trình, Precious Shipping đã chỉ thị thuyền trưởng ' 'rời điểm neo đậu vào khoảng nửa đêm. Tàu phải di chuyển với ' 'tốc độ bình thường, tắt mọi đèn không cần thiết và treo cờ ' 'Thái Lan ở vị trí nổi bật. Công ty cũng yêu cầu thuyền ' 'trưởng báo cáo tình hình qua WhatsApp mỗi 30 phút, đồng thời ' 'thông báo cho các cơ quan chức năng liên quan trong suốt ' 'chuyến đi.

Họ dự kiến băng qua eo biển ' 'Hormuz vào khoảng 7h sáng 11/3. Precious Shipping cho biết ' 'trước khi khởi hành, họ đã "thực hiện đánh giá toàn diện về ' 'tình hình sau khi tham vấn cố vấn an ninh hàng hải, đơn vị ' 'bảo hiểm và các bên liên quan khác".

"Con tàu khi đó được đánh giá là phù hợp để ' 'đi qua eo biển với các biện pháp phòng ngừa thích hợp được ' 'triển khai", tuyên bố của Precious Shipping nêu rõ.

Nhưng nhiều thủy thủ đã rất lo sợ khi phải ' 'thực hiện hành trình.

"Tôi không hoàn ' 'toàn chắc chắn, nhưng tôi nghĩ họ ép chúng tôi rời đi vì nếu ' 'tàu cứ nằm yên một chỗ, chi phí phát sinh sẽ tăng lên mỗi ' 'ngày", Samut nói. "Họ liên tục nói rằng muốn đưa con tàu ra ' 'khỏi vùng chiến sự sớm nhất có thể, nhưng vấn đề là để thoát ' 'ra ngoài, chúng tôi phải đi xuyên qua nơi nguy hiểm ' 'nhất".

\n' '
\n' '\n' '\n' '\n' '\n' '
\n' '\n' '\n' '\n' 'Thân tàu Mayuree '
                 'Naree bị xé toạc sau vụ tấn công. Ảnh: Hải quân Thái Lan\n' '
\n' '
\n' '

Thân tàu Mayuree Naree bị xé toạc sau vụ ' 'tấn công. Ảnh: Hải quân Thái Lan

\n' '
\n' '

Trong email phản hồi CNN, Khalid ' 'Hashim, giám đốc điều hành của công ty, cho biết vì con tàu ' 'đang trong hợp đồng thuê theo kỳ hạn, "chúng tôi có thể chờ ' 'đợi mà không tốn thêm chi phí nào".

"Chúng tôi không vội vàng đưa con tàu đi", ' 'ông nói thêm, dù lưu ý rằng với vị trí của con tàu, "nó có ' 'thể bị trúng đạn".

Công ty đã yêu cầu ' 'thủy thủ ký cam kết miễn trừ trách nhiệm. Trong tài liệu mà ' 'CNN xem được, tất cả 23 người đều thừa nhận "rủi ro an ninh ' 'gia tăng" liên quan đến cuộc chiến và cho biết họ hiểu quyết ' 'định băng qua eo biển của ban lãnh đạo.

"Họ đã triệu tập cuộc họp", Samut nói và thêm ' 'rằng thủy thủ có rất ít lựa chọn. "Về cơ bản là hoặc tiếp ' 'tục ở trên tàu hoặc là không".

Suchawadee cho biết chồng cô "hoàn toàn không ' 'muốn đi, nhưng anh ấy nói với tôi anh là người duy nhất cảm ' 'thấy như vậy. Anh ấy không muốn ở lại khách sạn một mình, ' 'nên đã quyết định nếu những người còn lại đi, anh sẽ đi cùng ' 'họ".

Phó Thủ tướng kiêm Bộ trưởng Giao ' 'thông vận tải Thái Lan Pipat Ratchakitprakarn cho biết khi ' 'con tàu đang đi qua eo biển, phần đuôi tàu đã bị trúng đạn, ' 'gây ra hỏa hoạn trong phòng máy.

Theo ' 'lệnh của thuyền trưởng, thủy thủ đoàn đã bỏ tàu và sơ tán ' 'xuống xuồng cứu sinh. Họ đã được hải quân Oman giải cứu và ' 'đưa đến thành phố Khasab, nằm ngay sát eo biển.

\n' '
\n' '\n' '\n' '\n' '\n' '
\n' '\n' '\n' '\n' 'Eo biển Hormuz. Đồ '
                 'họa: AP\n' '
\n' '
\n' '

Eo biển Hormuz. Đồ họa: AP

\n' '
\n' '

Vệ binh Cách mạng Hồi giáo Iran ' '(IRGC) sau đó cho biết tàu Mayuree Naree bị tấn công sau khi ' '"phớt lờ các cảnh báo và cố tình tìm cách đi qua eo biển ' 'Hormuz một cách bất hợp pháp", theo hãng thông tấn ' 'Fars của Iran.

Một con tàu ' 'treo cờ Liberia cũng bị trúng hỏa lực của Iran trong cùng ' 'buổi sáng hôm đó. Hơn 20 tàu chở dầu, tàu hàng và các loại ' 'tàu khác đã báo cáo về sự cố trong và xung quanh Vịnh Ba Tư, ' 'eo biển Hormuz và vịnh Oman kể từ khi chiến tranh bắt đầu, ' 'theo Cơ quan Điều hành Thương mại Hàng hải Vương quốc Anh ' '(UKMTO).

20 thành viên thủy thủ đoàn ' 'của tàu Mayuree Naree đã trở về Thái Lan bằng máy bay vào ' 'ngày 16/3. Một quan chức từ Cục Lãnh sự Thái Lan nói với ' 'hãng tin Reuters rằng tất cả các thuyền viên trở về ' 'đều có sức khỏe tốt và "sẵn sàng quay lại làm nhiệm ' 'vụ".

Nhưng thân nhân của ba người đang ' 'mất tích vẫn mòn mỏi chờ đợi với hy vọng có phép màu xảy ra. ' 'Trong cuộc điện đàm hôm 15/3, Ngoại trưởng Thái Lan Sihasak ' 'Phuangketkeow đã đề nghị người đồng cấp Iran hỗ trợ trong ' 'hoạt động tìm kiếm và cứu nạn những người mất tích.

\n' '
\n' '\n' '\n' '\n' '\n' '
\n' '\n' '\n' '\n' 'Thuỷ thủ tàu '
                 'Mayuree Naree trở về tới sân bay Suvarnabhumi ở Thái Lan hôm '
                 '16/3. Ảnh: AP\n' '
\n' '
\n' '

Thủy thủ tàu Mayuree Naree trở về tới sân ' 'bay Suvarnabhumi ở Thái Lan hôm 16/3. Ảnh: AP

\n' '
\n' '

Tuy nhiên, đến nay vẫn chưa có ' 'tin tức gì về số phận con tàu và ba thủy thủ trên đó. Thiết ' 'bị định vị của tàu phát tín hiệu lần cuối ngay sau vụ tấn ' 'công.

"Các vụ nổ xảy ra ở phần đuôi, ' 'ngay dưới phòng máy, do đó tàu bị mất điện và trôi dạt mất ' 'kiểm soát", Hashim nói.

Điều này đồng ' 'nghĩa là hệ thống nhận dạng tự động (AIS), vốn thường phát ' 'tín hiệu để thông báo vị trí của tàu, đã ngừng hoạt ' 'động.

"Tôi nhớ anh ấy mỗi ngày. Mỗi ' 'ngày trôi qua, tôi chỉ biết chờ đợi và tự hỏi khi nào mình ' 'mới được gặp lại anh ấy. Tôi chỉ muốn biết anh ấy thế nào. ' 'Đã bảy, tám ngày rồi, và tôi không thể ngừng suy nghĩ liệu ' 'anh ấy có bị thương không? Anh ấy có gì để ăn không? Tôi lo ' 'lắng vô cùng", Suchawadee nói.

Cô cũng ' 'gọi cho Bộ Ngoại giao Thái Lan mỗi ngày và cho biết "họ chỉ ' "nói 'chúng tôi chưa có thông tin nào'. Tôi phải nghe cùng " 'một câu nói đó suốt những ngày qua".

Thanh Tâm (Theo ' 'CNN, AFP, The Nation)

\n' '\n' '\n' '\n' '\n' '
', 'md_content': '\n' 'Hơn một tuần trước, tàu chở hàng Mayuree Naree tiến vào eo ' 'biển Hormuz bất chấp rủi ro ngày càng lớn khi xung đột Iran ' 'leo thang. Một cuộc tấn công không có cảnh báo trước là điều ' 'mà Samut, một trong 23 thủy thủ trên tàu, lo sợ.\n' '\n' 'Dự cảm không lành đó trở thành sự thật khi một tiếng nổ lớn ' 'vang lên. "Khoảng hai giây sau, tiếng nổ thứ hai vang lên", ' 'thủy thủ này kể về ngày tàu bị tập kích hôm 11/3.\n' '\n' 'Chuông báo động kêu inh ỏi và khói tràn ngập mọi hành lang. ' 'Toàn bộ con tàu chìm trong bóng tối trước khi hệ thống điện dự ' 'phòng được kích hoạt.\n' '\n' '"Chúng tôi không biết quả đạn đến từ hướng nào, ai đã khai hỏa ' 'hay liệu có tàu chiến nào ở ngoài kia không. Do đó, không ai ' 'dám bước ra ngoài. Mọi người đều chạy thẳng tới buồng lái", ' 'Samut nói.\n' '\n' '\n' '\n' '\n' '\n' '\n' '![Chuyến tàu định mệnh của thủy thủ Thái Lan qua ' 'Hormuz](https://iv1.vnecdn.net/vnexpress/images/web/2026/03/21/chuyen-tau-dinh-menh-cua-thuy-thu-thai-lan-qua-hormuz-1774068987.jpg?w=0&h=0&q=100&dpr=1&fit=crop&s=oPq8aiqhW5YTkzwyK1q81A)\n' '\n' '\xa0\n' '\xa0\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' 'Chuyến tàu định mệnh của thủy thủ Thái Lan qua Hormuz\n' '\n' '\n' '\n' '\n' '\n' 'Khói đen bốc lên từ tàu Mayuree Naree sau khi bị tấn công ngày ' '11/3. Video: *CNN*\n' '\n' '\n' 'Khi họ tới nơi, thuyền trưởng tiến hành điểm danh và phát hiện ' '3 người đã mất tích. Vào thời điểm tàu bị tấn công, cả ba ' 'người này đều đang ở phòng máy, nơi ngọn lửa đang bùng lên dữ ' 'dội.\n' '\n' 'Một trong số họ là Chawarit Chaiwong, thủy thủ 35 tuổi đến từ ' 'tỉnh Tak, miền tây Thái Lan. Anh làm việc trên biển hơn 10 ' 'năm. Suchawadee Malikaeo, vợ của Chawarit, cho biết chồng cô ' 'đã có linh cảm xấu về chuyến băng qua eo biển Hormuz lần này.\n' '\n' 'Kể từ khi xung đột Iran bùng phát ngày 28/2, Tehran đã kiểm ' 'soát tuyến hàng hải quan trọng qua eo biển Hormuz bằng cách đe ' 'dọa tấn công mọi con tàu liên quan tới Mỹ và Israel.\n' '\n' 'Lời cảnh báo đó khiến Mayuree Naree, con tàu chở hàng rời dài ' '180 mét, bị mắc kẹt tại vịnh Ba Tư và thả neo ở vùng biển ' 'ngoài khơi Các tiểu vương quốc Arab Thống nhất (UAE) trong khi ' 'chiến tranh nổ ra xung quanh. Suchawadee kể chồng cô nói trong ' 'các cuộc điện thoại rằng các thủy thủ có thể nghe thấy tiếng ' 'tên lửa bay qua lại trên đầu họ.\n' '\n' '"Nhưng vấn đề là anh ấy không thực sự biết chúng lao đến từ ' 'đâu hay ai là người bắn", cô nói.\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '![Ảnh tàu hàng Mayuree Naree bốc khói đen sau khi bị tấn công ' 'gần Eo biển Hormuz được công bố ngày 11/3. Ảnh: Hải quân Thái ' 'Lan](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)\n' '\n' '\n' 'Ảnh tàu hàng Mayuree Naree bốc khói đen sau khi bị tấn công ' 'gần eo biển Hormuz được công bố ngày 11/3. Ảnh: *Hải quân Thái ' 'Lan*\n' '\n' '\n' '\n' 'Vài ngày trước vụ tấn công, Chawarit kể với cô rằng anh thấy ' 'một chiếc máy bay không người lái (UAV) lảng vảng quanh tàu. ' '"Anh ấy nói trông nó giống như UAV đang do thám con tàu, nhưng ' 'lúc đó không có chuyện gì xảy ra cả", Suchawadee nói.\n' '\n' 'Precious Shipping, công ty sở hữu tàu Mayuree Naree, ngày 10/3 ' 'quyết định cho tàu băng qua eo biển, thực hiện hành trình đến ' 'thành phố cảng Kandla ở miền tây Ấn Độ để nhận hàng. Ngay cả ' 'trong thời bình, việc điều khiển tàu qua eo biển hẹp này cũng ' 'đòi hỏi kỹ năng điêu luyện. Nhưng hành trình lần này là thử ' 'thách đặc biệt khắc nghiệt đối với thuyền trưởng.\n' '\n' 'Theo một nguồn tin am hiểu hành trình, Precious Shipping đã ' 'chỉ thị thuyền trưởng rời điểm neo đậu vào khoảng nửa đêm. Tàu ' 'phải di chuyển với tốc độ bình thường, tắt mọi đèn không cần ' 'thiết và treo cờ Thái Lan ở vị trí nổi bật. Công ty cũng yêu ' 'cầu thuyền trưởng báo cáo tình hình qua WhatsApp mỗi 30 phút, ' 'đồng thời thông báo cho các cơ quan chức năng liên quan trong ' 'suốt chuyến đi.\n' '\n' 'Họ dự kiến băng qua eo biển Hormuz vào khoảng 7h sáng 11/3. ' 'Precious Shipping cho biết trước khi khởi hành, họ đã "thực ' 'hiện đánh giá toàn diện về tình hình sau khi tham vấn cố vấn ' 'an ninh hàng hải, đơn vị bảo hiểm và các bên liên quan khác".\n' '\n' '"Con tàu khi đó được đánh giá là phù hợp để đi qua eo biển với ' 'các biện pháp phòng ngừa thích hợp được triển khai", tuyên bố ' 'của Precious Shipping nêu rõ.\n' '\n' 'Nhưng nhiều thủy thủ đã rất lo sợ khi phải thực hiện hành ' 'trình.\n' '\n' '"Tôi không hoàn toàn chắc chắn, nhưng tôi nghĩ họ ép chúng tôi ' 'rời đi vì nếu tàu cứ nằm yên một chỗ, chi phí phát sinh sẽ ' 'tăng lên mỗi ngày", Samut nói. "Họ liên tục nói rằng muốn đưa ' 'con tàu ra khỏi vùng chiến sự sớm nhất có thể, nhưng vấn đề là ' 'để thoát ra ngoài, chúng tôi phải đi xuyên qua nơi nguy hiểm ' 'nhất".\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '![Thân tàu Mayuree Naree bị xé toạc sau vụ tấn công. Ảnh: Hải ' 'quân Thái ' 'Lan](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)\n' '\n' '\n' 'Thân tàu Mayuree Naree bị xé toạc sau vụ tấn công. Ảnh: *Hải ' 'quân Thái Lan*\n' '\n' '\n' '\n' 'Trong email phản hồi CNN, Khalid Hashim, giám đốc điều hành ' 'của công ty, cho biết vì con tàu đang trong hợp đồng thuê theo ' 'kỳ hạn, "chúng tôi có thể chờ đợi mà không tốn thêm chi phí ' 'nào".\n' '\n' '"Chúng tôi không vội vàng đưa con tàu đi", ông nói thêm, dù ' 'lưu ý rằng với vị trí của con tàu, "nó có thể bị trúng đạn".\n' '\n' 'Công ty đã yêu cầu thủy thủ ký cam kết miễn trừ trách nhiệm. ' 'Trong tài liệu mà CNN xem được, tất cả 23 người đều thừa nhận ' '"rủi ro an ninh gia tăng" liên quan đến cuộc chiến và cho biết ' 'họ hiểu quyết định băng qua eo biển của ban lãnh đạo.\n' '\n' '"Họ đã triệu tập cuộc họp", Samut nói và thêm rằng thủy thủ có ' 'rất ít lựa chọn. "Về cơ bản là hoặc tiếp tục ở trên tàu hoặc ' 'là không".\n' '\n' 'Suchawadee cho biết chồng cô "hoàn toàn không muốn đi, nhưng ' 'anh ấy nói với tôi anh là người duy nhất cảm thấy như vậy. Anh ' 'ấy không muốn ở lại khách sạn một mình, nên đã quyết định nếu ' 'những người còn lại đi, anh sẽ đi cùng họ".\n' '\n' 'Phó Thủ tướng kiêm Bộ trưởng Giao thông vận tải Thái Lan Pipat ' 'Ratchakitprakarn cho biết khi con tàu đang đi qua eo biển, ' 'phần đuôi tàu đã bị trúng đạn, gây ra hỏa hoạn trong phòng ' 'máy.\n' '\n' 'Theo lệnh của thuyền trưởng, thủy thủ đoàn đã bỏ tàu và sơ tán ' 'xuống xuồng cứu sinh. Họ đã được hải quân Oman giải cứu và đưa ' 'đến thành phố Khasab, nằm ngay sát eo biển.\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '![Eo biển Hormuz. Đồ họa: ' 'AP](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)\n' '\n' '\n' 'Eo biển Hormuz. Đồ họa: *AP*\n' '\n' '\n' '\n' 'Vệ binh Cách mạng Hồi giáo Iran (IRGC) sau đó cho biết tàu ' 'Mayuree Naree bị tấn công sau khi "phớt lờ các cảnh báo và cố ' 'tình tìm cách đi qua eo biển Hormuz một cách bất hợp pháp", ' 'theo hãng thông tấn *Fars* của Iran.\n' '\n' 'Một con tàu treo cờ Liberia cũng bị trúng hỏa lực của Iran ' 'trong cùng buổi sáng hôm đó. Hơn 20 tàu chở dầu, tàu hàng và ' 'các loại tàu khác đã báo cáo về sự cố trong và xung quanh Vịnh ' 'Ba Tư, eo biển Hormuz và vịnh Oman kể từ khi chiến tranh bắt ' 'đầu, theo Cơ quan Điều hành Thương mại Hàng hải Vương quốc Anh ' '(UKMTO).\n' '\n' '20 thành viên thủy thủ đoàn của tàu Mayuree Naree đã trở về ' 'Thái Lan bằng máy bay vào ngày 16/3. Một quan chức từ Cục Lãnh ' 'sự Thái Lan nói với hãng tin *Reuters* rằng tất cả các thuyền ' 'viên trở về đều có sức khỏe tốt và "sẵn sàng quay lại làm ' 'nhiệm vụ".\n' '\n' 'Nhưng thân nhân của ba người đang mất tích vẫn mòn mỏi chờ đợi ' 'với hy vọng có phép màu xảy ra. Trong cuộc điện đàm hôm 15/3, ' 'Ngoại trưởng Thái Lan Sihasak Phuangketkeow đã đề nghị người ' 'đồng cấp Iran hỗ trợ trong hoạt động tìm kiếm và cứu nạn những ' 'người mất tích.\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '![Thuỷ thủ tàu Mayuree Naree trở về tới sân bay Suvarnabhumi ở ' 'Thái Lan hôm 16/3. Ảnh: ' 'AP](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)\n' '\n' '\n' 'Thủy thủ tàu Mayuree Naree trở về tới sân bay Suvarnabhumi ở ' 'Thái Lan hôm 16/3. Ảnh: *AP*\n' '\n' '\n' '\n' 'Tuy nhiên, đến nay vẫn chưa có tin tức gì về số phận con tàu ' 'và ba thủy thủ trên đó. Thiết bị định vị của tàu phát tín hiệu ' 'lần cuối ngay sau vụ tấn công.\n' '\n' '"Các vụ nổ xảy ra ở phần đuôi, ngay dưới phòng máy, do đó tàu ' 'bị mất điện và trôi dạt mất kiểm soát", Hashim nói.\n' '\n' 'Điều này đồng nghĩa là hệ thống nhận dạng tự động (AIS), vốn ' 'thường phát tín hiệu để thông báo vị trí của tàu, đã ngừng ' 'hoạt động.\n' '\n' '"Tôi nhớ anh ấy mỗi ngày. Mỗi ngày trôi qua, tôi chỉ biết chờ ' 'đợi và tự hỏi khi nào mình mới được gặp lại anh ấy. Tôi chỉ ' 'muốn biết anh ấy thế nào. Đã bảy, tám ngày rồi, và tôi không ' 'thể ngừng suy nghĩ liệu anh ấy có bị thương không? Anh ấy có ' 'gì để ăn không? Tôi lo lắng vô cùng", Suchawadee nói.\n' '\n' 'Cô cũng gọi cho Bộ Ngoại giao Thái Lan mỗi ngày và cho biết ' '"họ chỉ nói \'chúng tôi chưa có thông tin nào\'. Tôi phải nghe ' 'cùng một câu nói đó suốt những ngày qua".\n' '\n' '**Thanh Tâm** (Theo *CNN, AFP, The Nation*)\n' '\n' '\n' '\n' '\n' '\n' '\n', 'published_date': datetime.date(2026, 3, 22), 'published_timestamp': datetime.datetime(2026, 3, 22, 5, 0), 'source': 'VnExpress', 'tags': ['Tàu Mayuree Naree', 'Eo biển Hormuz', 'Xung đột Iran', 'Tấn công tàu', 'Thủy thủ đoàn', 'Hỏa hoạn', 'UAV', 'An ninh hàng hải', 'Công ty Precious Shipping', 'Tình hình căng thẳng', 'Cứu nạn', 'Mất tích', 'Tìm kiếm', 'Vệ binh Cách mạng Hồi giáo Iran (IRGC)', 'Chi phí phát sinh', 'Quyết định rời đi', 'Thuyền trưởng', 'Phòng máy', 'Tín hiệu định vị', 'Thân nhân thủy thủ', 'Hy vọng tìm kiếm'], 'title': 'Thủy thủ tàu Thái Lan kể khoảnh khắc bị tập kích ở eo biển Hormuz', 'url': 'https://vnexpress.net/thuy-thu-tau-thai-lan-ke-khoanh-khac-bi-tap-kich-o-eo-bien-hormuz-5053106.html', 'voice': 'SG-Nu-1-DT'} 2026-03-21 22:18:16 [scrapy.extensions.logstats] INFO: Crawled 33 pages (at 15 pages/min), scraped 3 items (at 2 items/min) 2026-03-21 22:18:16 [scrapy.core.engine] INFO: Closing spider (finished) 2026-03-21 22:18:16 [boto3.s3.transfer] DEBUG: Opting out of CRT Transfer Manager. Preferred client: auto, CRT available: False, Instance Optimized: False. 2026-03-21 22:18:16 [boto3.s3.transfer] DEBUG: Using default client. pid: 24934, thread: 140066491919160 2026-03-21 22:18:16 [s3transfer.utils] DEBUG: Acquiring 0 2026-03-21 22:18:16 [s3transfer.tasks] DEBUG: UploadSubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] 2026-03-21 22:18:16 [s3transfer.tasks] DEBUG: UploadSubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures 2026-03-21 22:18:16 [s3transfer.tasks] DEBUG: Executing task UploadSubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } 2026-03-21 22:18:16 [s3transfer.futures] DEBUG: Submitting task PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'extra_args': {}}) to executor for transfer request: 0. 2026-03-21 22:18:16 [s3transfer.utils] DEBUG: Acquiring 0 2026-03-21 22:18:16 [s3transfer.tasks] DEBUG: PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'extra_args': {}}) about to wait for the following futures [] 2026-03-21 22:18:16 [s3transfer.utils] DEBUG: Releasing acquire 0/None 2026-03-21 22:18:16 [s3transfer.tasks] DEBUG: PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'extra_args': {}}) done waiting for dependent futures 2026-03-21 22:18:16 [s3transfer.tasks] DEBUG: Executing task PutObjectTask(transfer_id=0, {'bucket': 'dagster-output-data', 'key': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'extra_args': {}}) with kwargs {'client': , 'fileobj': , 'bucket': 'dagster-output-data', 'key': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'extra_args': {}} 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler > 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler > 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-parameter-build.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-endpoint-resolution.s3: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-endpoint-resolution.s3: calling handler > 2026-03-21 22:18:16 [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': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} 2026-03-21 22:18:16 [botocore.regions] DEBUG: Endpoint provider result: https://lake-api.actable.ai/dagster-output-data 2026-03-21 22:18:16 [botocore.regions] DEBUG: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" 2026-03-21 22:18:16 [botocore.regions] DEBUG: Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.handlers] DEBUG: Adding expect 100 continue header to request. 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler > 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-call.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.endpoint] DEBUG: Making request for OperationModel(name=PutObject) with params: {'url_path': '/vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.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-164-generic md/arch#x86_64 lang/python#3.11.13 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.162', 'Content-MD5': 'h0vmzX8hZ+cK6hKGmwHm1w==', 'Expect': '100-continue'}, 'body': , 'auth_path': '/dagster-output-data/vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'url': 'https://lake-api.actable.ai/dagster-output-data/vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.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': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl', 'Body': }}, 'input_params': {'Bucket': 'dagster-output-data', 'Key': 'vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.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-03-21 22:18:16 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler > 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event choose-signer.s3.PutObject: calling handler > 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event choose-signer.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-sign.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event before-sign.s3.PutObject: calling handler > 2026-03-21 22:18:16 [botocore.auth] DEBUG: Calculating signature using v4 auth. 2026-03-21 22:18:16 [botocore.auth] DEBUG: CanonicalRequest: PUT /dagster-output-data/vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl content-md5:h0vmzX8hZ+cK6hKGmwHm1w== host:lake-api.actable.ai x-amz-content-sha256:UNSIGNED-PAYLOAD x-amz-date:20260321T221816Z content-md5;host;x-amz-content-sha256;x-amz-date UNSIGNED-PAYLOAD 2026-03-21 22:18:16 [botocore.auth] DEBUG: StringToSign: AWS4-HMAC-SHA256 20260321T221816Z 20260321/us-east-1/s3/aws4_request bb2a4bc297fdbdae15089c1b87f04c125379dc699439aa98bfd3210f0d1eed69 2026-03-21 22:18:16 [botocore.auth] DEBUG: Signature: 564cb4b9dbede6408f2572babb7254e4864e0692f35967f2a0cd71570c7fc4b4 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.hooks] DEBUG: Event request-created.s3.PutObject: calling handler 2026-03-21 22:18:16 [botocore.endpoint] DEBUG: Sending http request: 2026-03-21 22:18:16 [botocore.httpsession] DEBUG: Certificate path: /usr/local/lib/python3.11/site-packages/certifi/cacert.pem 2026-03-21 22:18:16 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): lake-api.actable.ai:443 2026-03-21 22:18:17 [botocore.awsrequest] DEBUG: Waiting for 100 Continue response. 2026-03-21 22:18:17 [botocore.awsrequest] DEBUG: 100 Continue response seen, now sending request body. 2026-03-21 22:18:17 [urllib3.connectionpool] DEBUG: https://lake-api.actable.ai:443 "PUT /dagster-output-data/vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl HTTP/1.1" 200 0 2026-03-21 22:18:17 [botocore.parsers] DEBUG: Response headers: {'Server': 'nginx/1.18.0 (Ubuntu)', 'Date': 'Sat, 21 Mar 2026 22:18:17 GMT', 'Content-Length': '0', 'Connection': 'keep-alive', 'Accept-Ranges': 'bytes', 'ETag': '"874be6cd7f2167e70aea12869b01e6d7"', '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': '189EFB3265AD9BA0', 'X-Content-Type-Options': 'nosniff', 'X-Ratelimit-Limit': '3162', 'X-Ratelimit-Remaining': '3162', 'X-Xss-Protection': '1; mode=block'} 2026-03-21 22:18:17 [botocore.parsers] DEBUG: Response body: b'' 2026-03-21 22:18:17 [botocore.hooks] DEBUG: Event needs-retry.s3.PutObject: calling handler 2026-03-21 22:18:17 [botocore.retryhandler] DEBUG: No retry needed. 2026-03-21 22:18:17 [botocore.hooks] DEBUG: Event needs-retry.s3.PutObject: calling handler > 2026-03-21 22:18:17 [s3transfer.utils] DEBUG: Releasing acquire 0/None 2026-03-21 22:18:17 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (3 items) in: s3://dagster-output-data/vnexpress_timestamp/vnexpress_timestamp_6cfb5372257311f1a8c68655d067ffdb_scheduled_2026-03-22.jl 2026-03-21 22:18:17 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 11727, 'downloader/request_count': 33, 'downloader/request_method_count/GET': 33, 'downloader/response_bytes': 1837002, 'downloader/response_count': 33, 'downloader/response_status_count/200': 33, 'elapsed_time_seconds': 174.38783, 'feedexport/success_count/S3FeedStorage': 1, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 3, 21, 22, 18, 16, 953065, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 8597718, 'httpcompression/response_count': 33, 'item_scraped_count': 3, 'log_count/DEBUG': 208, 'log_count/INFO': 47, 'memusage/max': 151240704, 'memusage/startup': 124960768, 'request_depth_max': 2, 'response_received_count': 33, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 32, 'scheduler/dequeued/memory': 32, 'scheduler/enqueued': 32, 'scheduler/enqueued/memory': 32, 'start_time': datetime.datetime(2026, 3, 21, 22, 15, 22, 565235, tzinfo=datetime.timezone.utc)} 2026-03-21 22:18:17 [scrapy.core.engine] INFO: Spider closed (finished) 2026-03-21 22:18:17 [httpcore.connection] DEBUG: close.started 2026-03-21 22:18:17 [httpcore.connection] DEBUG: close.complete 2026-03-21 22:18:17 [httpcore.connection] DEBUG: close.started 2026-03-21 22:18:17 [httpcore.connection] DEBUG: close.complete