2026-03-09 01:32:28 [scrapy.utils.log] INFO: Scrapy 2.12.0 started (bot: zomato_check_in) 2026-03-09 01:32:28 [scrapy.utils.log] INFO: Versions: lxml 5.3.0.0, libxml2 2.12.9, cssselect 1.2.0, parsel 1.9.1, w3lib 2.2.1, Twisted 24.11.0, Python 3.10.12 (main, Jan 26 2026, 14:55:28) [GCC 11.4.0], pyOpenSSL 24.3.0 (OpenSSL 3.4.0 22 Oct 2024), cryptography 44.0.0, Platform Linux-6.8.0-1044-aws-aarch64-with-glibc2.35 2026-03-09 01:32:28 [zomato_integration_check] INFO: Dynamic attribute _job = 801f6fa31b5711f1bed6cdf2cd9b006a 2026-03-09 01:32:28 [zomato_integration_check] INFO: Connected to Redis 2026-03-09 01:32:28 [scrapy.addons] INFO: Enabled addons: [] 2026-03-09 01:32:28 [asyncio] DEBUG: Using selector: EpollSelector 2026-03-09 01:32:28 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-03-09 01:32:28 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-03-09 01:32:28 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-03-09 01:32:28 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-03-09 01:32:28 [scrapy.extensions.telnet] INFO: Telnet Password: 84660e52d8819051 2026-03-09 01:32:28 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.logstats.LogStats', 'scrapeops_scrapy.extension.ScrapeOpsMonitor'] 2026-03-09 01:32:28 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'zomato_check_in', 'CONCURRENT_REQUESTS': 8, 'FEED_EXPORT_ENCODING': 'utf-8', 'LOG_FILE': '/home/ubuntu/restaverse_spiders/logs/zomato_check_in/zomato_integration_check/801f6fa31b5711f1bed6cdf2cd9b006a.log', 'NEWSPIDER_MODULE': 'zomato_check_in.spiders', 'RETRY_HTTP_CODES': [403, 500, 502, 503, 504, 408], 'RETRY_TIMES': 1, 'SPIDER_MODULES': ['zomato_check_in.spiders'], 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'} 2026-03-09 01:32:31 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware', 'zomato_check_in.middlewares.ZomatoCentralRateLimitMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy_user_agents.middlewares.RandomUserAgentMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapeops_scrapy.middleware.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-09 01:32:31 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-03-09 01:32:31 [scrapy.middleware] INFO: Enabled item pipelines: ['zomato_check_in.pipelines.ZomatoCheckInPipeline'] 2026-03-09 01:32:31 [scrapy.core.engine] INFO: Spider opened 2026-03-09 01:32:31 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-03-09 01:32:31 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.scrapeops.io:443 2026-03-09 01:32:33 [urllib3.connectionpool] DEBUG: https://api.scrapeops.io:443 "POST /api/v1/setup/ HTTP/11" 200 None 2026-03-09 01:32:33 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023 2026-03-09 01:32:33 [zomato_integration_check] INFO: No Redis session found for client_id=108, falling back to DB 2026-03-09 01:32:33 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): cron.restaverse.com:443 2026-03-09 01:32:33 [urllib3.connectionpool] DEBUG: https://cron.restaverse.com:443 "POST /api/db_services/fetch-query HTTP/11" 200 4156 2026-03-09 01:32:33 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.scrapeops.io:443 2026-03-09 01:32:34 [urllib3.connectionpool] DEBUG: https://api.scrapeops.io:443 "POST /api/v1/normalizer/proxy_port/?job_id=6288602 HTTP/11" 200 None 2026-03-09 01:32:34 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.scrapeops.io:443 2026-03-09 01:32:35 [urllib3.connectionpool] DEBUG: https://api.scrapeops.io:443 "POST /api/v1/normalizer/domain/?domain=zomato.com HTTP/11" 200 241 2026-03-09 01:32:37 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.zomato.com/) 2026-03-09 01:32:37 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.scrapeops.io:443 2026-03-09 01:32:37 [urllib3.connectionpool] DEBUG: https://api.scrapeops.io:443 "POST /api/v1/normalizer/domain/?domain=restaverse.com HTTP/11" 200 245 2026-03-09 01:32:39 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.zomato.com/webroutes/auth/csrf) 2026-03-09 01:32:39 [zomato_integration_check] INFO: Found 10 restaurant IDs from database for client_id 108 2026-03-09 01:32:40 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=21779998) 2026-03-09 01:32:40 [zomato_integration_check] INFO: Res ID 21779998: Found emails {'punit@nutriobox.com', 'nidhi@nutriobox.com', 'vanita@nutriobox.com'}, target: nidhi@nutriobox.com, zomato_manager_access: True 2026-03-09 01:32:40 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=21779998&business_type=o2> None 2026-03-09 01:32:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=21529349) 2026-03-09 01:32:41 [zomato_integration_check] INFO: Res ID 21529349: Found emails {'punit@nutriobox.com', 'kartikay.bhardwaj@zomato.com', 'nidhi@nutriobox.com', 'vanita@nutriobox.com'}, target: nidhi@nutriobox.com, zomato_manager_access: True 2026-03-09 01:32:41 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=21529349&business_type=o2> None 2026-03-09 01:32:42 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=21017714) 2026-03-09 01:32:42 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=20792991) 2026-03-09 01:32:42 [zomato_integration_check] INFO: Res ID 21017714: Found emails {'punit@nutriobox.com', 'nidhi@nutriobox.com', 'vanita@nutriobox.com'}, target: nidhi@nutriobox.com, zomato_manager_access: True 2026-03-09 01:32:42 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=21017714&business_type=o2> None 2026-03-09 01:32:42 [zomato_integration_check] INFO: Res ID 20792991: Found emails {'punit@nutriobox.com', 'neha.lakhani@zomato.com', 'satvikahuja@gmail.com', 'nidhi@nutriobox.com', 'vanita@nutriobox.com'}, target: nidhi@nutriobox.com, zomato_manager_access: True 2026-03-09 01:32:42 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=20792991&business_type=o2> None 2026-03-09 01:32:42 [scrapeops_scrapy.middleware.retry] DEBUG: Retrying (failed 1 times): 403 Forbidden 2026-03-09 01:32:43 [scrapeops_scrapy.middleware.retry] DEBUG: Retrying (failed 1 times): 403 Forbidden 2026-03-09 01:32:43 [scrapeops_scrapy.middleware.retry] DEBUG: Retrying (failed 1 times): 403 Forbidden 2026-03-09 01:32:44 [scrapeops_scrapy.middleware.retry] ERROR: Gave up retrying (failed 2 times): 403 Forbidden 2026-03-09 01:32:44 [scrapy.core.engine] DEBUG: Crawled (403) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=19208382) 2026-03-09 01:32:44 [zomato_integration_check] ERROR: 403 Forbidden for res_id 19208382. Response: {"status":false,"code":1020,"message":"Not authorised for the restaurant","display":{"image":"https:\/\/b.zmtcdn.com\/data\/o2_assets\/241d53f646972ed0ffb41193f7e188f71622638524.png","title":"Oops! Access denied","subtitle":"You are not authorised to access this outlet anymore","cta":{"text":"Switch outlet","bg_color":"#256FEF","deeplink":"zomato-merchant:\/\/switch_outlet"}}} 2026-03-09 01:32:44 [scrapy.core.scraper] DEBUG: Scraped from <403 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=19208382&business_type=o2> None 2026-03-09 01:32:45 [scrapeops_scrapy.middleware.retry] ERROR: Gave up retrying (failed 2 times): 403 Forbidden 2026-03-09 01:32:45 [scrapy.core.engine] DEBUG: Crawled (403) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=20020858) 2026-03-09 01:32:45 [zomato_integration_check] ERROR: 403 Forbidden for res_id 20020858. Response: {"status":false,"code":1020,"message":"Not authorised for the restaurant","display":{"image":"https:\/\/b.zmtcdn.com\/data\/o2_assets\/241d53f646972ed0ffb41193f7e188f71622638524.png","title":"Oops! Access denied","subtitle":"You are not authorised to access this outlet anymore","cta":{"text":"Switch outlet","bg_color":"#256FEF","deeplink":"zomato-merchant:\/\/switch_outlet"}}} 2026-03-09 01:32:45 [scrapy.core.scraper] DEBUG: Scraped from <403 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=20020858&business_type=o2> None 2026-03-09 01:32:45 [scrapeops_scrapy.middleware.retry] DEBUG: Retrying (failed 1 times): 403 Forbidden 2026-03-09 01:32:45 [scrapeops_scrapy.middleware.retry] DEBUG: Retrying (failed 1 times): 403 Forbidden 2026-03-09 01:32:46 [scrapeops_scrapy.middleware.retry] DEBUG: Retrying (failed 1 times): 403 Forbidden 2026-03-09 01:32:46 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.scrapeops.io:443 2026-03-09 01:32:47 [urllib3.connectionpool] DEBUG: https://api.scrapeops.io:443 "POST /api/v1/stats/ HTTP/11" 200 109 2026-03-09 01:32:47 [scrapeops_scrapy.middleware.retry] ERROR: Gave up retrying (failed 2 times): 403 Forbidden 2026-03-09 01:32:47 [scrapy.core.engine] DEBUG: Crawled (403) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=20020871) 2026-03-09 01:32:47 [zomato_integration_check] ERROR: 403 Forbidden for res_id 20020871. Response: {"status":false,"code":1020,"message":"Not authorised for the restaurant","display":{"image":"https:\/\/b.zmtcdn.com\/data\/o2_assets\/241d53f646972ed0ffb41193f7e188f71622638524.png","title":"Oops! Access denied","subtitle":"You are not authorised to access this outlet anymore","cta":{"text":"Switch outlet","bg_color":"#256FEF","deeplink":"zomato-merchant:\/\/switch_outlet"}}} 2026-03-09 01:32:47 [scrapy.core.scraper] DEBUG: Scraped from <403 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=20020871&business_type=o2> None 2026-03-09 01:32:47 [scrapeops_scrapy.middleware.retry] ERROR: Gave up retrying (failed 2 times): 403 Forbidden 2026-03-09 01:32:47 [scrapy.core.engine] DEBUG: Crawled (403) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=19034587) 2026-03-09 01:32:47 [zomato_integration_check] ERROR: 403 Forbidden for res_id 19034587. Response: {"status":false,"code":1020,"message":"Not authorised for the restaurant","display":{"image":"https:\/\/b.zmtcdn.com\/data\/o2_assets\/241d53f646972ed0ffb41193f7e188f71622638524.png","title":"Oops! Access denied","subtitle":"You are not authorised to access this outlet anymore","cta":{"text":"Switch outlet","bg_color":"#256FEF","deeplink":"zomato-merchant:\/\/switch_outlet"}}} 2026-03-09 01:32:47 [scrapy.core.scraper] DEBUG: Scraped from <403 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=19034587&business_type=o2> None 2026-03-09 01:32:48 [scrapeops_scrapy.middleware.retry] ERROR: Gave up retrying (failed 2 times): 403 Forbidden 2026-03-09 01:32:48 [scrapy.core.engine] DEBUG: Crawled (403) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=18557659) 2026-03-09 01:32:48 [zomato_integration_check] ERROR: 403 Forbidden for res_id 18557659. Response: {"status":false,"code":1020,"message":"Not authorised for the restaurant","display":{"image":"https:\/\/b.zmtcdn.com\/data\/o2_assets\/241d53f646972ed0ffb41193f7e188f71622638524.png","title":"Oops! Access denied","subtitle":"You are not authorised to access this outlet anymore","cta":{"text":"Switch outlet","bg_color":"#256FEF","deeplink":"zomato-merchant:\/\/switch_outlet"}}} 2026-03-09 01:32:48 [scrapy.core.scraper] DEBUG: Scraped from <403 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=18557659&business_type=o2> None 2026-03-09 01:32:49 [scrapeops_scrapy.middleware.retry] ERROR: Gave up retrying (failed 2 times): 403 Forbidden 2026-03-09 01:32:49 [scrapy.core.engine] DEBUG: Crawled (403) (referer: https://www.zomato.com/partners/onlineordering/outletInfo/contactDetails?resId=20284001) 2026-03-09 01:32:49 [zomato_integration_check] ERROR: 403 Forbidden for res_id 20284001. Response: {"status":false,"code":1020,"message":"Not authorised for the restaurant","display":{"image":"https:\/\/b.zmtcdn.com\/data\/o2_assets\/241d53f646972ed0ffb41193f7e188f71622638524.png","title":"Oops! Access denied","subtitle":"You are not authorised to access this outlet anymore","cta":{"text":"Switch outlet","bg_color":"#256FEF","deeplink":"zomato-merchant:\/\/switch_outlet"}}} 2026-03-09 01:32:49 [scrapy.core.scraper] DEBUG: Scraped from <403 https://www.zomato.com/merchant-api/contacts/v2/get-all?res_id=20284001&business_type=o2> None 2026-03-09 01:32:49 [scrapy.core.engine] INFO: Closing spider (finished) 2026-03-09 01:32:49 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): cron.restaverse.com:443 2026-03-09 01:32:49 [urllib3.connectionpool] DEBUG: https://cron.restaverse.com:443 "POST /api/db_services/fetch-query HTTP/11" 200 481 2026-03-09 01:32:49 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): cron.restaverse.com:443 2026-03-09 01:32:49 [urllib3.connectionpool] DEBUG: https://cron.restaverse.com:443 "POST /insert_data_with_update/ HTTP/11" 201 91 2026-03-09 01:32:49 [zomato_integration_check] INFO: 2026-03-09 01:32:49 [zomato_integration_check] INFO: {"task_id":"da641a7c-3939-495c-b193-d438a149c040","status":"Task enqueued","database":null} 2026-03-09 01:32:49 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.scrapeops.io:443 2026-03-09 01:32:50 [urllib3.connectionpool] DEBUG: https://api.scrapeops.io:443 "POST /api/v1/stats/ HTTP/11" 200 109 2026-03-09 01:32:50 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'client_id': '108', 'downloader/request_bytes': 100926, 'downloader/request_count': 18, 'downloader/request_method_count/GET': 17, 'downloader/request_method_count/POST': 1, 'downloader/response_bytes': 87598, 'downloader/response_count': 18, 'downloader/response_status_count/200': 6, 'downloader/response_status_count/403': 12, 'elapsed_time_seconds': 17.563685, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 3, 9, 1, 32, 49, 449328, tzinfo=datetime.timezone.utc), 'httpcompression/response_bytes': 35631, 'httpcompression/response_count': 5, 'item_scraped_count': 10, 'items_per_minute': None, 'log_count/DEBUG': 51, 'log_count/ERROR': 12, 'log_count/INFO': 18, 'memusage/max': 114343936, 'memusage/startup': 114343936, 'request_depth_max': 2, 'response_received_count': 12, 'responses_per_minute': None, 'retry/count': 6, 'retry/max_reached': 6, 'retry/reason_count/403 Forbidden': 6, 'scheduler/dequeued': 18, 'scheduler/dequeued/memory': 18, 'scheduler/enqueued': 18, 'scheduler/enqueued/memory': 18, 'start_time': datetime.datetime(2026, 3, 9, 1, 32, 31, 885643, tzinfo=datetime.timezone.utc)} 2026-03-09 01:32:50 [scrapy.core.engine] INFO: Spider closed (finished)