ಪ್ರಾಕ್ಸಿ ಮೂಲಕ Scrapy AutoThrottle: ಸ್ಲಾಟ್ಗಳು ಮತ್ತು ವಿಳಂಬ
ಗುರಿ ಸೈಟ್ನ ಡೌನ್ಲೋಡ್ ಸ್ಲಾಟ್ಗಳನ್ನು ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗಗಳಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ ಮತ್ತು ವಿಳಂಬವನ್ನು ಗಮನಿಸಿದ ವಿನಂತಿ ಮಾರ್ಗವಾಗಿ ಅರ್ಥೈಸಿ.
ಡೀಫಾಲ್ಟ್ ಆಗಿ Scrapy ವಿನಂತಿ URL ನ ಡೊಮೇನ್ನಿಂದ ಡೌನ್ಲೋಡ್ ಸ್ಲಾಟ್ಗಳನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ. ವಿನಂತಿಗೆ HTTP ಪ್ರಾಕ್ಸಿ ನೀಡಿದರೆ ಆ URL ಪ್ರಾಕ್ಸಿಯ ಹೋಸ್ಟ್ಹೆಸರಾಗಿ ಬದಲಾಗುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ಬೇರೆ ಬೇರೆ ಸೈಟ್ಗಳಿಗೆ ಹೋಗುವ ವಿನಂತಿಗಳು ಒಂದೇ ಮಧ್ಯವರ್ತಿಯನ್ನು ಹಂಚಿಕೊಂಡರೂ ಬೇರೆ ಬೇರೆ ಸ್ಲಾಟ್ಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಬಹುದು.
AutoThrottle ಗಮನಿಸಿದ ಡೌನ್ಲೋಡ್ ವಿಳಂಬವನ್ನು ಬಳಸಿ ಪ್ರತಿ ಸ್ಲಾಟ್ನ ವಿಳಂಬವನ್ನು ಸರಿಹೊಂದಿಸುತ್ತದೆ. ಪ್ರಮಾಣಿತ ಪ್ರತಿ-ಡೊಮೇನ್ ಸಮಕಾಲೀನ ಮಿತಿ ಮತ್ತು ಕನಿಷ್ಠ ಡೌನ್ಲೋಡ್ ವಿಳಂಬ ಇನ್ನೂ ಅನ್ವಯಿಸುತ್ತವೆ.
ಅಲ್ಗಾರಿದಮ್ ಬದಲಿಸುವ ಮೊದಲು ಗುಂಪು ಮಾಡುವಿಕೆ ಪರಿಶೀಲಿಸಿ
ಕಸ್ಟಮ್ ಮಿಡಲ್ವೇರ್ request.meta["download_slot"] ನಿಗದಿಪಡಿಸಿ ಸಾಮಾನ್ಯ ಸ್ಲಾಟ್ ಆಯ್ಕೆಯನ್ನು ಬದಲಾಯಿಸಬಹುದು. ಕೆಲವು ಪ್ರಾಕ್ಸಿ ವಿಸ್ತರಣೆಗಳು ತಮ್ಮದೇ ಗುಂಪು ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸುತ್ತವೆ. ಸಂಬಂಧವಿಲ್ಲದ ಸೈಟ್ಗಳು ಒಂದೇ ನಿಯಂತ್ರಕವನ್ನು ಹಂಚಿಕೊಂಡಂತೆ ಕಂಡರೆ ಆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
ವಿರುದ್ಧವಾಗಿ, ಪ್ರತಿ ಪ್ರಾಕ್ಸಿಗೆ ಬೇರೆ ಸ್ಲಾಟ್ ನೀಡಿದರೆ ಹಲವು ಪ್ರಾಕ್ಸಿಗಳು ಏಕಕಾಲದಲ್ಲಿ ಒಂದೇ ಗುರಿಯನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು. ಇದು ಕ್ರಾಲರ್ ಗೌರವಿಸಬೇಕಾದ ಸೈಟ್-ವ್ಯಾಪಿ ಮಿತಿಯನ್ನು ಮುರಿಯಬಹುದು. ರಕ್ಷಿಸಲಾದ ಸಂಪನ್ಮೂಲದ ಪ್ರಕಾರ ಸ್ಲಾಟ್ ಕೀ ಆಯ್ಕೆಮಾಡಿ.
ವಿಳಂಬವು ನೀವು ಬಳಸಿದ ಮಾರ್ಗವನ್ನು ಒಳಗೊಂಡಿದೆ
Scrapy ವಿನಂತಿ ಕಳುಹಿಸುವುದರಿಂದ HTTP ಹೆಡರ್ಗಳು ಸಿಗುವವರೆಗಿನ ವಿಳಂಬವನ್ನು ಅಳೆಯುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಸಾಗುವ ವಿನಂತಿ ಆ ವೀಕ್ಷಣೆಯಲ್ಲಿ ಮಧ್ಯವರ್ತಿಯ ಸರದಿ ಮತ್ತು ಮುಂದಕ್ಕೆ ರವಾನೆ ವಿಳಂಬವನ್ನು ಸೇರಿಸಬಹುದು. AutoThrottle ಮೂಲಕ್ಕೆ ಮಾತ್ರ ಸಂಬಂಧಿಸಿದ ಪ್ರತ್ಯೇಕ ಸಂಸ್ಕರಣಾ ಸಮಯವನ್ನು ಪಡೆಯುವುದಿಲ್ಲ.
ಸಮಕಾಲೀನತೆ ಹೆಚ್ಚಿಸಿದರೆ ಆ ಅಳತೆ ಸೈಟ್ ಅನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಎರಡೂ ಮುಖ್ಯವಾದಾಗ ಗುರಿಯ ಸೌಜನ್ಯ ಮತ್ತು ಪ್ರಾಕ್ಸಿ ಸಾಮರ್ಥ್ಯವನ್ನು ಪ್ರತ್ಯೇಕ ಮಿತಿಗಳಾಗಿ ಇರಿಸಿ. ಹಂಚಿಕೊಂಡ ಪ್ರಾಕ್ಸಿಗೆ ಗುರಿ ಸ್ಲಾಟ್ಗಳಾದ್ಯಂತ ಹೆಚ್ಚುವರಿ ಸಮಕಾಲೀನ ಬಜೆಟ್ ಬೇಕಾಗಬಹುದು, ಆದರೆ ಪ್ರತಿ ಗುರಿ ತನ್ನದೇ ದರ ನೀತಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ.