2011-09-05 4 views
11

मेरे पास एक स्केपर CrawlSpider है जिसमें क्रॉल करने के लिए URL की एक बड़ी सूची है। मैं इसे रोकने में सक्षम होना चाहता हूं, वर्तमान स्थिति को सहेजना और इसे शुरू करने के बिना बाद में फिर से शुरू करना चाहता हूं। क्या यह स्केपर ढांचे के भीतर इसे पूरा करने का कोई तरीका है?मैं एक स्क्रैप क्रॉलस्पीडर को कैसे रोक सकता हूं और बाद में फिर से शुरू कर सकता हूं जहां यह बाएं बंद है?

+1

स्कैरपी v। 0.16 के रूप में अब इसे यहां समर्थन करता है: http://doc.scrapy.org/en/0.16/topics/jobs.html –

उत्तर

6

सिर्फ कुछ महीने पहले माले पर एक प्रश्न हुई: http://groups.google.com/group/scrapy-users/browse_thread/thread/6a8df07daff723fc?pli=1

उद्धरण पाब्लो:

हम केवल इस पर विचार नहीं कर रहे हैं, लेकिन यह भी इस पर काम कर। पहले की तरह एक मकड़ी को चलाने के लिए http://hg.scrapy.org/users/pablo/mq/file/tip/scheduler_single_spider .... http://hg.scrapy.org/users/pablo/mq/file/tip/persistent_scheduler.patch : वहाँ वर्तमान में दो मेरी MQ में काम कर रहे पैच कि मामले में किसी को भी एक प्रारंभिक पूर्वावलोकन (वे क्रम में लागू किया जाना चाहिए) की कोशिश करना चाहता है इस कार्यक्षमता जोड़ने कर रहे हैं (कोई हठ):

scrapy crawl thespider 

एक निर्देशिका में संग्रहीत अनुसूचक + dupefilter राज्य एक मकड़ी चलाने के लिए:

scrapy crawl thespider --set SCHEDULER_DIR=run1 

क्रॉल के दौरान, आप^सी मारा रद्द करने के लिए कर सकते हैं क्रॉल और इसके साथ बाद में फिर से शुरू:

scrapy crawl thespider --set SCHEDULER_DIR=run1 

SCHEDULER_DIR की स्थापना नाम अंतिम रिलीज होने से पहले बदलने के लिए बाध्य है, लेकिन यह विचार ही होगा - कि आप एक निर्देशिका जहां राज्य बने रहने गुजरती हैं।

+0

आपको JOBDIR का उपयोग SCHEDULER_DIR नहीं करना चाहिए (नीचे niko_gramophon की पोस्ट देखें)। – Naijaba

8

बस यह साझा करना चाहता था कि यह सुविधा नवीनतम स्केपर संस्करण में शामिल है, लेकिन पैरामीटर नाम बदल दिया गया है। आप इसे इस तरह का उपयोग करना चाहिए:

scrapy क्रॉल thespider --set JOBDIR = run1

अधिक जानकारी यहां http://doc.scrapy.org/en/latest/topics/jobs.html#job-directory

+2

@niko_gramphon, क्या आपको पता है कि यह डुप्लीटर राज्य को पुन: स्थापित करता है? और अगर हम एक सीएसवी फ़ाइल में लिख रहे हैं और वही फाइल का उपयोग कर फिर से शुरू करना चाहते हैं तो हमें पोशाक कोड जोड़ने की ज़रूरत है? धन्यवाद। – x89a10

2

Scrapy अब यहाँ प्रलेखित अपनी साइट पर इस बात के लिए काम कर रहे सुविधा है:

यहां वास्तविक आदेश दिया गया है:

scrapy crawl somespider -s JOBDIR=crawls/somespider-1 
संबंधित मुद्दे

 संबंधित मुद्दे