2013-02-13 12 views
6

मुझे अपने django व्यू में एक स्केपर स्पाइडर को कॉल करने में परेशानी हो रही है। मैं यह कैसे कर सकता हूँ? मैंने इस ट्यूटोरियल http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/ का पालन करने की कोशिश की लेकिन आयात सेटिंग्स में काम नहीं किया।एक Django ऐप के माध्यम से स्केपर स्पाइडर को कैसे कॉल करें

+1

पूर्ण त्रुटि संदेश पोस्ट करें। धन्यवाद। – bernie

+0

[django गतिशील स्क्रैपर] का उपयोग करें (https://github.com/holgerd77/django- गतिशील- स्क्रैपर)। –

+2

वह स्क्रिप्ट कुछ हद तक पुरानी है और तब से स्केपर बहुत बदल गया है। इस प्रश्न का उत्तर आज़माएं: http://stackoverflow.com/questions/14777910/scrapy-crawl-from-script-always-blocks-script-execution-after-scraping – Talvalin

उत्तर

2

त्रुटि से

from scrapy.conf import settings 

आ रहा है, तो यह scrapy केवल सेटिंग फ़ाइल यह उम्मीद कर रहा है नहीं मिल सकता है की संभावना है। चूंकि Django में डीजेंगो की अपनी कॉन्फ़िगरेशन के लिए settings का उपयोग करने के लिए यह परंपरागत है, इसलिए यदि आप उस शब्द का उपयोग नहीं करते हैं तो यह स्पष्ट होगा।

आप अपने scrapy सेटिंग्स आपके Django सेटिंग्स के भीतर निर्दिष्ट कर सकते हैं:

"""settings.py""" 
# stuff 

SCRAPY_SETTINGS = { 
    ... # put your usual scrapy keys and values here 
} 

# more stuff 

फिर, scrapy.conf.settings आयात करने के बजाय, आप के बजाय का उपयोग कर सकते हैं:

from django.conf import settings 

और आप अपनी स्क्रिप्ट में scrapy सेटिंग्स संदर्भ जहां , आपको क्रॉलर प्रोसेस को सेटिंग्स में बदलना चाहिए .SCRAPY_SETTINGS

self.crawler = CrawlerProcess(settings.SCRAPY_SETTINGS) 

यदि आपको कोई और समस्या है, तो कृपया आपको जो पूर्ण त्रुटि मिल रही है और आपके दृश्य के लिए कोड पोस्ट करें।

0

या, वैकल्पिक रूप से, आप बना सकते हैं सेटिंग होती हैं इसलिए की तरह वस्तु:

from scrapy.settings import Settings 
settings = Settings() 
settings.setmodule('path.to.scrapy.settings', priority='project') 
संबंधित मुद्दे