2026-01-30 00:20:06 [scrapy.utils.log] INFO: Scrapy 2.12.0 started (bot: vprice) 2026-01-30 00:20:06 [scrapy.utils.log] INFO: Versions: lxml 5.3.1.0, libxml2 2.12.9, cssselect 1.3.0, parsel 1.10.0, w3lib 2.3.1, Twisted 24.11.0, Python 3.11.2 (main, Nov 30 2024, 21:22:50) [GCC 12.2.0], pyOpenSSL 25.0.0 (OpenSSL 3.4.1 11 Feb 2025), cryptography 44.0.2, Platform Linux-6.14.0-37-generic-x86_64-with-glibc2.36 2026-01-30 00:20:06 [scrapy.addons] INFO: Enabled addons: [] 2026-01-30 00:20:06 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.epollreactor.EPollReactor 2026-01-30 00:20:06 [scrapy.extensions.telnet] INFO: Telnet Password: 91332f683a4f2d86 2026-01-30 00:20:06 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.feedexport.FeedExporter', 'scrapy.extensions.logstats.LogStats'] 2026-01-30 00:20:06 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'vprice', 'LOG_FILE': '/var/lib/scrapyd/logs/vprice/ex_tcb/6b2a441afd7111f0b2f3f235713fb711.log', 'NEWSPIDER_MODULE': 'vprice.spiders', 'SPIDER_MODULES': ['vprice.spiders'], 'USER_AGENT': 'vbot (+http://bot.vnappmob.com)'} 2026-01-30 00:20:06 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'vprice.middlewares.VpriceDownloaderMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2026-01-30 00:20:06 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'vprice.middlewares.VpriceSpiderMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-01-30 00:20:06 [scrapy.middleware] INFO: Enabled item pipelines: ['vprice.pipelines.VpricePipeline'] 2026-01-30 00:20:06 [scrapy.core.engine] INFO: Spider opened 2026-01-30 00:20:06 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-01-30 00:20:06 [ex_tcb] INFO: Spider opened: ex_tcb 2026-01-30 00:20:06 [ex_tcb] INFO: Spider opened: ex_tcb 2026-01-30 00:20:06 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023 2026-01-30 00:20:07 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-01-30 00:20:07 [ex_tcb] INFO: <------->start_pipeplines: ex_tcb<-------> 2026-01-30 00:20:07 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.vnappmob.com:443 2026-01-30 00:20:07 [urllib3.connectionpool] DEBUG: https://api.vnappmob.com:443 "POST /api/v2/exchange_rate/tcb HTTP/1.1" 200 16 2026-01-30 00:20:07 [scrapy.core.scraper] DEBUG: Scraped from <200 https://techcombank.com/content/techcombank/web/vn/vi/cong-cu-tien-ich/ty-gia/_jcr_content.exchange-rates.integration.json> {'post_datas': [{'currency': 'AUD', 'buy_cash': 17811.0, 'buy_transfer': 18085.0, 'sell': 18664.0}, {'currency': 'CAD', 'buy_cash': 18673.0, 'buy_transfer': 18951.0, 'sell': 19573.0}, {'currency': 'CHF', 'buy_cash': 33204.0, 'buy_transfer': 33591.0, 'sell': 34244.0}, {'currency': 'CNY', 'buy_cash': 0.0, 'buy_transfer': 3470.0, 'sell': 3830.0}, {'currency': 'EUR', 'buy_cash': 30447.0, 'buy_transfer': 30722.0, 'sell': 31756.0}, {'currency': 'GBP', 'buy_cash': 35083.0, 'buy_transfer': 35477.0, 'sell': 36415.0}, {'currency': 'HKD', 'buy_cash': 0.0, 'buy_transfer': 3200.0, 'sell': 3403.0}, {'currency': 'JPY', 'buy_cash': 162.86, 'buy_transfer': 167.05, 'sell': 173.19}, {'currency': 'KRW', 'buy_cash': 0.0, 'buy_transfer': 17.1, 'sell': 19.0}, {'currency': 'NZD', 'buy_cash': 0.0, 'buy_transfer': 15461.0, 'sell': 16051.0}, {'currency': 'SGD', 'buy_cash': 20028.0, 'buy_transfer': 20311.0, 'sell': 20835.0}, {'currency': 'THB', 'buy_cash': 749.0, 'buy_transfer': 812.0, 'sell': 866.0}, {'currency': 'USD (1,2)', 'buy_cash': 25739.0, 'buy_transfer': 0.0, 'sell': 0.0}, {'currency': 'USD (5,10,20)', 'buy_cash': 25778.0, 'buy_transfer': 0.0, 'sell': 0.0}, {'currency': 'USD (50,100)', 'buy_cash': 25806.0, 'buy_transfer': 25825.0, 'sell': 26185.0}]} 2026-01-30 00:20:07 [scrapy.core.engine] INFO: Closing spider (finished) 2026-01-30 00:20:07 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (1 items) in: file:///var/lib/scrapyd/items/vprice/ex_tcb/6b2a441afd7111f0b2f3f235713fb711.jl 2026-01-30 00:20:07 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 310, 'downloader/request_count': 1, 'downloader/request_method_count/GET': 1, 'downloader/response_bytes': 1491, 'downloader/response_count': 1, 'downloader/response_status_count/200': 1, 'elapsed_time_seconds': 0.782065, 'feedexport/success_count/FileFeedStorage': 1, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 1, 30, 0, 20, 7, 720747, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 3472, 'httpcompression/response_count': 1, 'item_scraped_count': 1, 'items_per_minute': None, 'log_count/DEBUG': 5, 'log_count/INFO': 14, 'memusage/max': 74153984, 'memusage/startup': 74153984, 'response_received_count': 1, 'responses_per_minute': None, 'scheduler/dequeued': 1, 'scheduler/dequeued/memory': 1, 'scheduler/enqueued': 1, 'scheduler/enqueued/memory': 1, 'start_time': datetime.datetime(2026, 1, 30, 0, 20, 6, 938682, tzinfo=datetime.timezone.utc)} 2026-01-30 00:20:07 [scrapy.core.engine] INFO: Spider closed (finished)