स्क्रेपी - सेटिंग्स
विवरण
स्क्रैपी घटकों के व्यवहार को स्क्रैपी सेटिंग्स का उपयोग करके संशोधित किया जा सकता है। यदि आप एक से अधिक स्क्रैपी प्रोजेक्ट हैं, तो सेटिंग्स वर्तमान में सक्रिय होने वाली स्क्रैपी परियोजना का भी चयन कर सकती है।
रूपरेखाएँ बनाना
जब आप किसी वेबसाइट को स्क्रैप करते हैं, तो आपको स्क्रेपी को सूचित करना चाहिए जो आप उपयोग कर रहे हैं। इसके लिए, पर्यावरण चरSCRAPY_SETTINGS_MODULE का उपयोग किया जाना चाहिए और इसका मूल्य पायथन पथ सिंटैक्स में होना चाहिए।
सेटिंग्स पॉप्युलेट करना
निम्न तालिका कुछ तंत्रों को दिखाती है जिनके द्वारा आप सेटिंग्स को पॉप्युलेट कर सकते हैं -
अनु क्रमांक | तंत्र और विवरण |
---|---|
1 | Command line options यहां, जो तर्क पारित किए जाते हैं, वे अन्य विकल्पों को पछाड़कर सबसे अधिक पूर्वता लेते हैं। -S का उपयोग एक या अधिक सेटिंग्स को ओवरराइड करने के लिए किया जाता है। |
2 | Settings per-spider मकड़ियों की अपनी सेटिंग्स हो सकती हैं जो विशेषता custom_settings का उपयोग करके प्रोजेक्ट को ओवरराइड करती हैं। |
3 | Project settings module यहां, आप अपनी कस्टम सेटिंग को पॉप्युलेट कर सकते हैं जैसे सेटिंग्स को फाइल में जोड़ना या संशोधित करना। |
4 | Default settings per-command प्रत्येक स्क्रेपी टूल कमांड वैश्विक डिफ़ॉल्ट सेटिंग्स को ओवरराइड करने के लिए default_settings विशेषता में अपनी सेटिंग्स को परिभाषित करता है। |
5 | Default global settings ये सेटिंग स्क्रेसी.सेटिंग्स.डेफॉल्ट_स्सेटिंग मॉड्यूल में पाई जाती हैं। |
एक्सेस सेटिंग्स
वे सेल्फिंग्स के माध्यम से उपलब्ध हैं और इसे आरंभ करने के बाद बेस स्पाइडर में सेट किया गया है।
निम्न उदाहरण यह प्रदर्शित करता है।
class DemoSpider(scrapy.Spider):
name = 'demo'
start_urls = ['http://example.com']
def parse(self, response):
print("Existing settings: %s" % self.settings.attributes.keys())
मकड़ी को शुरू करने से पहले सेटिंग्स का उपयोग करने के लिए, आपको अपने मकड़ी के _init_ () पद्धति में__ क्रॉलर विधि से ओवरराइड करना चाहिए । आप विशेषता के माध्यम से सेटिंग एक्सेस कर सकते scrapy.crawler.Crawler.settings के लिए पारित from_crawler विधि।
निम्न उदाहरण यह प्रदर्शित करता है।
class MyExtension(object):
def __init__(self, log_is_enabled = False):
if log_is_enabled:
print("Enabled log")
@classmethod
def from_crawler(cls, crawler):
settings = crawler.settings
return cls(settings.getbool('LOG_ENABLED'))
नाम निर्धारण के लिए तर्क
उनके द्वारा कॉन्फ़िगर किए गए घटक के लिए उपसर्ग के रूप में सेटिंग नाम जोड़े जाते हैं। उदाहरण के लिए, robots.txt एक्सटेंशन के लिए, सेटिंग के नाम ROBOTSTXT_ENABLED, ROBOTSTXT_OBEY, ROBOTSTXT_CACHEDIR, आदि हो सकते हैं।
अंतर्निहित सेटिंग्स संदर्भ
निम्न तालिका स्क्रेपी की अंतर्निहित सेटिंग्स को दर्शाती है -
अनु क्रमांक | सेटिंग और विवरण |
---|---|
1 | AWS_ACCESS_KEY_ID इसका उपयोग Amazon Web Services तक पहुँचने के लिए किया जाता है। डिफ़ॉल्ट मूल्य: कोई नहीं |
2 | AWS_SECRET_ACCESS_KEY इसका उपयोग Amazon Web Services तक पहुँचने के लिए किया जाता है। डिफ़ॉल्ट मूल्य: कोई नहीं |
3 | BOT_NAME यह बॉट का नाम है जिसका उपयोग उपयोगकर्ता-एजेंट के निर्माण के लिए किया जा सकता है। डिफ़ॉल्ट मान: 'स्क्रैपबॉट' |
4 | CONCURRENT_ITEMS आइटम प्रोसेसर में मौजूदा आइटम की अधिकतम संख्या समान रूप से संसाधित करने के लिए उपयोग की जाती है। डिफ़ॉल्ट मान: 100 |
5 | CONCURRENT_REQUESTS मौजूदा अनुरोधों की अधिकतम संख्या जो स्क्रेपी डाउनलोडर करता है। डिफ़ॉल्ट मान: 16 |
6 | CONCURRENT_REQUESTS_PER_DOMAIN किसी भी एकल डोमेन के लिए एक साथ प्रदर्शन करने वाले मौजूदा अनुरोधों की अधिकतम संख्या। डिफ़ॉल्ट मूल्य: 8 |
7 | CONCURRENT_REQUESTS_PER_IP मौजूदा अनुरोधों की अधिकतम संख्या जो किसी एकल IP पर एक साथ कार्य करती है। डिफ़ॉल्ट मान: 0 |
8 | DEFAULT_ITEM_CLASS यह वस्तुओं का प्रतिनिधित्व करने के लिए उपयोग किया जाने वाला एक वर्ग है। डिफ़ॉल्ट मूल्य: 'scrapy.item.Item' |
9 | DEFAULT_REQUEST_HEADERS यह एक डिफ़ॉल्ट हेडर है जिसका उपयोग स्क्रेपी के HTTP अनुरोधों के लिए किया जाता है। डिफ़ॉल्ट मान - |
10 | DEPTH_LIMIT किसी भी साइट को क्रॉल करने के लिए मकड़ी के लिए अधिकतम गहराई। डिफ़ॉल्ट मान: 0 |
1 1 | DEPTH_PRIORITY यह एक पूर्णांक है जिसका उपयोग गहराई के अनुसार अनुरोध की प्राथमिकता को बदलने के लिए किया जाता है। डिफ़ॉल्ट मान: 0 |
12 | DEPTH_STATS यह बताता है कि गहराई के आँकड़े एकत्र करने हैं या नहीं। डिफ़ॉल्ट मान: सत्य |
13 | DEPTH_STATS_VERBOSE सक्षम होने पर यह सेटिंग, प्रत्येक वर्बोज़ गहराई के लिए आँकड़ों में अनुरोधों की संख्या एकत्र की जाती है। डिफ़ॉल्ट मूल्य: गलत |
14 | DNSCACHE_ENABLED इसका उपयोग DNS को मेमोरी कैश में सक्षम करने के लिए किया जाता है। डिफ़ॉल्ट मान: सत्य |
15 | DNSCACHE_SIZE यह मेमोरी कैश में DNS के आकार को परिभाषित करता है। डिफ़ॉल्ट मूल्य: 10000 |
16 | DNS_TIMEOUT इसका उपयोग DNS को प्रश्नों को संसाधित करने के लिए टाइमआउट सेट करने के लिए किया जाता है। डिफ़ॉल्ट मूल्य: 60 |
17 | DOWNLOADER यह एक डाउनलोडर है जिसका उपयोग क्रॉलिंग प्रक्रिया के लिए किया जाता है। डिफ़ॉल्ट मान: 'scrapy.core.downloader.Downloader' |
18 | DOWNLOADER_MIDDLEWARES यह एक शब्दकोश डाउनलोडर मिडलवेयर और उनके आदेशों को रखने वाला है। डिफ़ॉल्ट मान: {} |
19 | DOWNLOADER_MIDDLEWARES_BASE यह डिक्शनरी डाउनलोडर मिडलवेयर है जो डिफ़ॉल्ट रूप से सक्षम है। डिफ़ॉल्ट मान - |
20 | DOWNLOADER_STATS यह सेटिंग डाउनलोडर आँकड़ों को सक्षम करने के लिए उपयोग की जाती है। डिफ़ॉल्ट मान: सत्य |
21 | DOWNLOAD_DELAY साइट से पृष्ठों को डाउनलोड करने से पहले यह डाउनलोडर के लिए कुल समय को परिभाषित करता है। डिफ़ॉल्ट मान: 0 |
22 | DOWNLOAD_HANDLERS यह डाउनलोड हैंडलर के साथ एक शब्दकोश है। डिफ़ॉल्ट मान: {} |
23 | DOWNLOAD_HANDLERS_BASE यह डाउनलोड हैंडलर के साथ एक शब्दकोश है जो डिफ़ॉल्ट रूप से सक्षम है। डिफ़ॉल्ट मान - |
24 | DOWNLOAD_TIMEOUT यह डाउनलोडर के बाहर निकलने से पहले प्रतीक्षा करने का कुल समय है। डिफ़ॉल्ट मूल्य: 180 |
25 | DOWNLOAD_MAXSIZE यह डाउनलोडर डाउनलोड करने के लिए प्रतिक्रिया का अधिकतम आकार है। डिफ़ॉल्ट मूल्य: 1073741824 (1024MB) |
26 | DOWNLOAD_WARNSIZE यह डाउनलोडर को चेतावनी देने के लिए प्रतिक्रिया के आकार को परिभाषित करता है। डिफ़ॉल्ट मूल्य: 33554432 (32 एमबी) |
27 | DUPEFILTER_CLASS यह डुप्लिकेट हैं उन अनुरोधों का पता लगाने और फ़िल्टर करने के लिए उपयोग किया जाने वाला एक वर्ग है। डिफ़ॉल्ट मान: 'scrapy.dupefilters.RFPDupeFilter' |
28 | DUPEFILTER_DEBUG यह सेटिंग सत्य होने पर सभी डुप्लिकेट फ़िल्टर को लॉग करती है। डिफ़ॉल्ट मूल्य: गलत |
29 | EDITOR इसका उपयोग एडिट कमांड का उपयोग करके मकड़ियों को संपादित करने के लिए किया जाता है। डिफ़ॉल्ट मान: पर्यावरण पर निर्भर करता है |
30 | EXTENSIONS यह एक ऐसा शब्दकोश है जिसमें एक्सटेंशन होते हैं जो प्रोजेक्ट में सक्षम होते हैं। डिफ़ॉल्ट मान: {} |
31 | EXTENSIONS_BASE यह एक शब्दकोश है जिसमें बिल्ट-इन एक्सटेंशन हैं। डिफ़ॉल्ट मान: {'scrapy.extensions.corestats.CoreStats': 0,} |
32 | FEED_TEMPDIR यह एक निर्देशिका है जिसका उपयोग कस्टम फ़ोल्डर को सेट करने के लिए किया जाता है जहां क्रॉलर अस्थायी फ़ाइलों को संग्रहीत किया जा सकता है। |
33 | ITEM_PIPELINES यह एक शब्दकोश है जिसमें पाइपलाइन है। डिफ़ॉल्ट मान: {} |
34 | LOG_ENABLED यदि लॉगिंग को सक्षम करना है तो यह परिभाषित करता है। डिफ़ॉल्ट मान: सत्य |
35 | LOG_ENCODING यह लॉगिंग के लिए उपयोग किए जाने वाले एन्कोडिंग के प्रकार को परिभाषित करता है। डिफ़ॉल्ट मान: 'utf-8' |
36 | LOG_FILE यह लॉगिंग के आउटपुट के लिए उपयोग की जाने वाली फ़ाइल का नाम है। डिफ़ॉल्ट मूल्य: कोई नहीं |
37 | LOG_FORMAT यह एक स्ट्रिंग है जिसके उपयोग से लॉग संदेशों को स्वरूपित किया जा सकता है। डिफ़ॉल्ट मान: '% (asctime) s [% (नाम) s]% (स्तरनाम) s:% (संदेश) s |
38 | LOG_DATEFORMAT यह एक स्ट्रिंग है जिसके उपयोग से दिनांक / समय को प्रारूपित किया जा सकता है। डिफ़ॉल्ट मान: '% Y-% m-% d% H:% M:% S' |
39 | LOG_LEVEL यह न्यूनतम लॉग स्तर को परिभाषित करता है। डिफ़ॉल्ट मान: 'DEBUG' |
40 | LOG_STDOUT यह सेटिंग यदि सही पर सेट की जाती है, तो आपकी सभी प्रक्रिया आउटपुट लॉग में दिखाई देगी। डिफ़ॉल्ट मूल्य: गलत |
41 | MEMDEBUG_ENABLED यह निर्धारित करता है कि मेमोरी डीबगिंग को सक्षम करना है या नहीं। डिफ़ॉल्ट मान: गलत |
42 | MEMDEBUG_NOTIFY यह मेमोरी रिपोर्ट को परिभाषित करता है जो मेमोरी डीबगिंग सक्षम होने पर किसी विशेष पते पर भेजी जाती है। डिफ़ॉल्ट मान: [] |
43 | MEMUSAGE_ENABLED यह निर्धारित करता है कि स्मृति उपयोग सक्षम किया जाना है जब एक स्क्रैपी प्रक्रिया एक स्मृति सीमा से अधिक है। डिफ़ॉल्ट मूल्य: गलत |
44 | MEMUSAGE_LIMIT_MB यह मेमोरी (मेगाबाइट में) की अधिकतम सीमा को निर्धारित करने की अनुमति देता है। डिफ़ॉल्ट मान: 0 |
45 | MEMUSAGE_CHECK_INTERVAL_SECONDS इसका उपयोग अंतराल की लंबाई निर्धारित करके वर्तमान मेमोरी उपयोग की जांच करने के लिए किया जाता है। डिफ़ॉल्ट मान: 60.0 |
46 | MEMUSAGE_NOTIFY_MAIL इसका उपयोग ईमेल की सूची के साथ सूचित करने के लिए किया जाता है जब मेमोरी सीमा तक पहुंच जाती है। डिफ़ॉल्ट मूल्य: गलत |
47 | MEMUSAGE_REPORT यह निर्धारित करता है कि स्मृति उपयोग रिपोर्ट प्रत्येक मकड़ी को बंद करने पर भेजी जाए। डिफ़ॉल्ट मूल्य: गलत |
48 | MEMUSAGE_WARNING_MB यह चेतावनी भेजे जाने से पहले कुल मेमोरी को निर्धारित करने की अनुमति देता है। डिफ़ॉल्ट मान: 0 |
49 | NEWSPIDER_MODULE यह एक मॉड्यूल है जहां एक नई मकड़ी को जेनपाइडर कमांड का उपयोग करके बनाया गया है। डिफ़ॉल्ट मान: '' |
50 | RANDOMIZE_DOWNLOAD_DELAY यह साइट से अनुरोधों को डाउनलोड करने के लिए प्रतीक्षा करने के लिए एक स्क्रेपी के लिए यादृच्छिक समय को परिभाषित करता है। डिफ़ॉल्ट मान: सत्य |
51 | REACTOR_THREADPOOL_MAXSIZE यह रिएक्टर थ्रेडपूल के लिए अधिकतम आकार को परिभाषित करता है। डिफ़ॉल्ट मान: 10 |
52 | REDIRECT_MAX_TIMES यह परिभाषित करता है कि अनुरोध को कितनी बार पुनर्निर्देशित किया जा सकता है। डिफ़ॉल्ट मूल्य: 20 |
53 | REDIRECT_PRIORITY_ADJUST सेट करते समय यह सेटिंग, अनुरोध की पुनर्निर्देशित प्राथमिकता को समायोजित करती है। डिफ़ॉल्ट मान: +2 |
54 | RETRY_PRIORITY_ADJUST यह सेटिंग जब सेट की जाती है, तो अनुरोध की पुनर्प्राप्ति प्राथमिकता को समायोजित करती है। डिफ़ॉल्ट मान: -1 |
55 | ROBOTSTXT_OBEY जब सही पर सेट करें, तो Scrapy robots.txt नीतियों का पालन करता है । डिफ़ॉल्ट मूल्य: गलत |
56 | SCHEDULER यह शेड्यूलर को क्रॉल उद्देश्य के लिए उपयोग करने के लिए परिभाषित करता है। डिफ़ॉल्ट मूल्य: 'scrapy.core.scheduler.Scheduler' |
57 | SPIDER_CONTRACTS यह मकड़ी का परीक्षण करने के लिए मकड़ी के अनुबंध वाली परियोजना का एक शब्दकोश है। डिफ़ॉल्ट मान: {} |
58 | SPIDER_CONTRACTS_BASE यह एक स्क्रेपी अनुबंध रखने वाला शब्दकोश है जो डिफ़ॉल्ट रूप से स्क्रेपी में सक्षम है। डिफ़ॉल्ट मान - |
59 | SPIDER_LOADER_CLASS यह मकड़ियों को लोड करने के लिए स्पाइडरलैडर एपीआई को लागू करने वाले वर्ग को परिभाषित करता है । डिफ़ॉल्ट मान: 'scrapy.spiderloader.SpiderLoader' |
60 | SPIDER_MIDDLEWARES यह एक शब्दकोश धारण करने वाली मकड़ी है। डिफ़ॉल्ट मान: {} |
61 | SPIDER_MIDDLEWARES_BASE यह एक डिफेंस होल्डिंग स्पाइडर मिडलवेज़ है जो डिफ़ॉल्ट रूप से स्क्रेपी में सक्षम है। डिफ़ॉल्ट मान - |
62 | SPIDER_MODULES यह मकड़ियों से युक्त मॉड्यूलों की एक सूची है, जो स्क्रेपी की तलाश करेगा। डिफ़ॉल्ट मान: [] |
63 | STATS_CLASS यह एक वर्ग है जो आँकड़े एकत्र करने के लिए आँकड़े कलेक्टर एपीआई को लागू करता है । डिफ़ॉल्ट मूल्य: 'scrapy.statscollectors.MemoryStatsCollector' |
64 | STATS_DUMP यह सेटिंग जब सही पर सेट होती है, तो लॉग में आँकड़ों को डंप करता है। डिफ़ॉल्ट मान: सत्य |
65 | STATSMAILER_RCPTS एक बार जब मकड़ियां खुरचनी शुरू कर देती हैं, तो स्क्रेपी इस सेटिंग का उपयोग आंकड़े भेजने के लिए करती है। डिफ़ॉल्ट मान: [] |
66 | TELNETCONSOLE_ENABLED यह परिभाषित करता है कि टेलनेटकोन्स को सक्षम करना है या नहीं। डिफ़ॉल्ट मान: सत्य |
67 | TELNETCONSOLE_PORT यह टेलनेट कंसोल के लिए एक पोर्ट को परिभाषित करता है। डिफ़ॉल्ट मूल्य: [6023, 6073] |
68 | TEMPLATES_DIR यह एक निर्देशिका युक्त टेम्प्लेट है जिसका उपयोग नई परियोजनाओं को बनाते समय किया जा सकता है। डिफ़ॉल्ट मान: टेढ़े-मेढ़े मॉड्यूल के अंदर टेम्पलेट निर्देशिका |
69 | URLLENGTH_LIMIT यह URL के लिए क्रॉल किए गए URL की अनुमति के लिए लंबाई की अधिकतम सीमा को परिभाषित करता है। डिफ़ॉल्ट मूल्य: 2083 |
70 | USER_AGENT यह साइट को क्रॉल करते समय उपयोग किए जाने वाले उपयोगकर्ता एजेंट को परिभाषित करता है। डिफ़ॉल्ट मान: "स्क्रैप / संस्करण (+ http: //scrapy.org)" |
अन्य स्क्रेपी सेटिंग्स के लिए, इस लिंक पर जाएं ।