2016-03-10 9 views
10

में काम करता है मैं django के लिए नया हूँ। मैं django दृश्य के माध्यम से अपने स्केपर मकड़ी चलाने की कोशिश कर रहा हूँ। जब मैं कमांड प्रॉम्प्ट के माध्यम से चलाता हूं तो मेरा स्क्रैप कोड पूरी तरह से काम करता है। लेकिन जब मैं इसे django पर चलाने की कोशिश करता हूं तो यह विफल हो जाता है। त्रुटि संदेश: सिग्नल केवल मुख्य धागे में काम करता है।सिग्नल केवल मुख्य धागे

Django दृश्य में मेरी कोड (निम्न)

from twisted.internet import reactor 
from scrapy.crawler import Crawler 
from scrapy.crawler import CrawlerProcess 
from scrapy import log, signals 
from Working.spiders.workSpider import WorkSpider 
from scrapy.settings import Settings 
from scrapy.utils.project import get_project_settings 

spider = WorkSpider(domain='scrapinghub.com') 
crawler = CrawlerProcess(Settings()) 
crawler.start() 
crawler.signals.connect(reactor.stop, signal=signals.spider_closed) 
crawler.configure() 
crawler.crawl(spider) 
crawler.start() 
log.start() 
reactor.run() 

कृपया मुझे इस समाधान में मदद। धन्यवाद

+1

आप इसे हल करने में सक्षम थे। क्या आप अपना काम चारों ओर पोस्ट कर सकते हैं? –

+0

उपरोक्त लड़के के समान। – kiradotee

उत्तर

2

त्रुटि मूल रूप से कहती है कि आप मुख्य धागे में नहीं हैं इसलिए सिग्नल को नियंत्रित नहीं किया जाता है।

CrawlerProcess से CrawlerRunner का उपयोग करने जा मेरे लिए समस्या (मैं CrawlerRunner में लगता है कि आप मुख्य थ्रेड में हैं) http://doc.scrapy.org/en/latest/topics/api.html#scrapy.crawler.CrawlerRunner

आशा है कि यह मदद करता है हल आप

+0

मुझे क्रॉलररनर का उपयोग करके यह त्रुटि मिली – kiradotee

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