खत्म होने पर स्पाइडर को पुनरारंभ करें यदि मेरा इंटरनेट कनेक्शन (रात इंटरनेट इंटरनेट के दौरान 5 मिनट के लिए नीचे चला जाता है) के कारण मेरा स्क्रैप स्पाइडर फिर से लॉन्च करने की कोशिश कर रहा है। जब इंटरनेट नीचे चला जाता है तो मकड़ी 5 कोशिशों के बाद बंद हो जाती है।स्केपर स्पाइडर:
जब बंद कर दिया मैं मकड़ी को पुनः आरंभ करने की कोशिश कर मेरी मकड़ी परिभाषा के अंदर इस सुविधा का उपयोग करने के लिए कोशिश कर रहा हूँ:
def handle_spider_closed(spider, reason):
relaunch = False
for key in spider.crawler.stats._stats.keys():
if 'DNSLookupError' in key:
relaunch = True
break
if relaunch:
spider = mySpider()
settings = get_project_settings()
crawlerProcess = CrawlerProcess(settings)
crawlerProcess.configure()
crawlerProcess.crawl(spider)
spider.crawler.queue.append_spider(another_spider)
मैं एक मकड़ी का दृष्टांत फिर जैसी चीजों का एक बहुत कोशिश की, लेकिन त्रुटि रिएक्टर पहले से ही है मिल गया या ऐसा कुछ चल रहा है।
मैंने एक स्क्रिप्ट से मकड़ी को निष्पादित करने के बारे में सोचा था, और जब मकड़ी खत्म हो जाती है तो इसे फिर से कॉल किया जाता है, लेकिन न तो काम नहीं करता है, क्योंकि रिएक्टर अभी भी उपयोग में है।
- मेरे इरादे (मकड़ी बंद कर देता है, क्योंकि यह इंटरनेट कनेक्शन खो)
किसी को भी यह करने के लिए एक अच्छा और आसान तरीका जानता है मकड़ी पुनर्स्थापित करने के लिए इसे बंद करने के बाद है?
जांच करने के लिए scrapy नौकरियों का उपयोग करेंगे एक परिदृश्य (http://doc.scrapy.org/en/latest/topics/jobs.html) निपटने के लिए बनाता है स्कीपर प्रक्रिया सक्रिय होने पर हर 10 मिनट में उदाहरण के लिए जांच करने के लिए विभिन्न मकड़ी उदाहरणों और खोल स्क्रिप्टिंग के बीच दृढ़ता के साथ। यदि इसे – aberna
को फिर से लॉन्च नहीं किया गया है तो अंधेरे में बस एक शॉट: यदि आप मकड़ी को बहाल करने के बाद 'spider.crawler.crawl (स्पाइडर) 'का उपयोग करेंगे तो क्या होगा? धन्यवाद। – alecxe
मैंने उन दस्तावेज़ों को पढ़ लिया है, लेकिन मुझे नहीं लगता कि स्पाइडर को स्वचालित रूप से फिर से शुरू करने के लिए – AlvaroAV