Scrapy ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು CrawlerProcess ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಲೋಡ್ ಮಾಡಿ
ಸ್ವತಂತ್ರ ಲಾಂಚರ್ scrapy crawl ನಂತೆಯೇ ಅದೇ ಡೌನ್ಲೋಡರ್ ಮಿಡಲ್ವೇರ್ ಬಳಸಬೇಕಾದಾಗ get_project_settings() ಅನ್ನು CrawlerProcess ಗೆ ರವಾನಿಸಿ.
ಸ್ಪೈಡರ್ scrapy crawl ಅಡಿಯಲ್ಲಿ ನಿರೀಕ್ಷಿತ ಪ್ರಾಕ್ಸಿ ಬಳಸಬಹುದು ಮತ್ತು Python ಸ್ಕ್ರಿಪ್ಟ್ನಿಂದ ಪ್ರಾರಂಭಿಸಿದಾಗ ನೇರವಾಗಿ ಹೋಗುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್ ಬದಲಿಸುವ ಮೊದಲು ಆ ಸ್ಕ್ರಿಪ್ಟ್ ತನ್ನ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ.
ಇರುವ Scrapy ಪ್ರಾಜೆಕ್ಟ್ ಮತ್ತು ಅದರ ನೋಂದಾಯಿತ ಸ್ಪೈಡರ್ಗಾಗಿ:
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()
catalog ಅನ್ನು ಪ್ರಾಜೆಕ್ಟ್ನ ಸ್ಪೈಡರ್ ಹೆಸರಿನಿಂದ ಬದಲಾಯಿಸಿ. ಪ್ರಾಜೆಕ್ಟ್ ತನ್ನ scrapy.cfg ಮೂಲಕ, ಅಥವಾ ಆಮದು ಮಾಡಬಹುದಾದ ಸೆಟ್ಟಿಂಗ್ಗಳ ಮಾಡ್ಯೂಲ್ಗೆ ಸೂಚಿಸುವ ಸರಿಯಾಗಿ ಸೆಟ್ ಮಾಡಿದ SCRAPY_SETTINGS_MODULE ಮೂಲಕ ಪತ್ತೆ ಮಾಡಬಹುದಾಗಿರಬೇಕು.
ಕೇವಲ CrawlerProcess() ನಿರ್ಮಿಸುವುದರಿಂದ ಪ್ರಾಜೆಕ್ಟ್ನ ಸೆಟ್ಟಿಂಗ್ಗಳ ಫೈಲ್ ಆಮದಾಗುವುದಿಲ್ಲ, ಸ್ಕ್ರಿಪ್ಟ್ ಸ್ಪೈಡರ್ ಕ್ಲಾಸ್ ಸಹ ಆಮದು ಮಾಡುವುದರಿಂದ ಮಾತ್ರ ಅಲ್ಲ. ಹಾಗಾಗಿ DOWNLOADER_MIDDLEWARES ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಿದ ಕಸ್ಟಮ್ ಮಿಡಲ್ವೇರ್ ಆ ರನ್ನಲ್ಲಿ ಇಲ್ಲದಿರಬಹುದು.
ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಲೋಡ್ ಮಾಡುವುದು ಸಂರಚಿತ ಘಟಕಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ; ಅದು ಪ್ರಾಕ್ಸಿ ವಿಳಾಸವನ್ನು ಕಲ್ಪಿಸುವುದಿಲ್ಲ. Scrapy ನ HTTP ಪ್ರಾಕ್ಸಿ ಮಿಡಲ್ವೇರ್ಗೆ ಇನ್ನೂ ಅದರ ಸಾಮಾನ್ಯ ಪರಿಸರ ಪ್ರಾಕ್ಸಿ ಅಥವಾ ಸ್ಪಷ್ಟ request.meta['proxy'] ಮೌಲ್ಯ ಬೇಕು. HTTPPROXY_ENABLED ಅದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿಲ್ಲ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ ಪುಟಗಳ ಕ್ರಾಲ್ಗೆ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಆ ಮೆಟಾಡೇಟಾ ಅಥವಾ ಪರಿಸರದ ಮೂಲಕ ನೀಡಲಾದ HTTP ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯಕ್ಕೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಲಾಂಚರ್ನ ಲೋಡ್ ಆದ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಸಕ್ರಿಯ ಮಿಡಲ್ವೇರ್ ಅನ್ನು ಆಜ್ಞಾ ಸಾಲಿನ ರನ್ನೊಂದಿಗೆ ಹೋಲಿಸಿ. ಅವು ಹೊಂದಿಕೆಯಾದರೆ, ಆಯ್ಕೆ ಮಾಡಿದ ವಿನಂತಿಯ ಪ್ರಾಕ್ಸಿ ಮೆಟಾಡೇಟಾ ಮತ್ತು ನಿಜವಾದ ಸಾರಿಗೆ ದೋಷದೊಂದಿಗೆ ಮುಂದುವರಿಯಿರಿ.