ಲಾಗ್‌ನಲ್ಲಿ ಪ್ರಾಕ್ಸಿ ವಿಳಾಸ ಬದಲಾಗುತ್ತದೆ. ಗಮ್ಯಸ್ಥಾನವು ಪ್ರಾಕ್ಸಿಯ ಪ್ರವೇಶ ಲಾಗ್‌ನಲ್ಲಿ ಎಂದಿಗೂ ಕಾಣಿಸುವುದಿಲ್ಲ. ನಿಮ್ಮ ಮಿಡಲ್‌ವೇರ್ ವಿನಂತಿಯನ್ನು ಡೌನ್‌ಲೋಡರ್‌ಗೆ ತಲುಪಲು ಬಿಡುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.

Scrapy ನ ಡೌನ್‌ಲೋಡರ್ ಮಿಡಲ್‌ವೇರ್‌ನಲ್ಲಿ Request ಹಿಂತಿರುಗಿಸುವುದು ಎಂದರೆ ಆ ವಿನಂತಿಯನ್ನು ಮತ್ತೆ ನಿಗದಿಪಡಿಸುವುದು. ಅದರ ಅರ್ಥ “ನಾನು ಈಗ ಬದಲಿಸಿದ ಮೆಟಾಡೇಟಾದೊಂದಿಗೆ ಈ ವಸ್ತುವನ್ನು ಕಳುಹಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿ” ಎಂದಲ್ಲ.

ಕೇವಲ ಮಾರ್ಗವನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಸೆಲೆಕ್ಟರ್‌ಗೆ ಮುಖ್ಯ ರೂಪ ಇದು:

def process_request(self, request):
    request.meta['proxy'] = self.choose_proxy()
    return None

ಈ ತುಣುಕು ಪ್ರಸ್ತುತ ಹುಕ್ ರೂಪವನ್ನು ತೋರಿಸುತ್ತದೆ; ಸ್ಥಾಪಿಸಿದ Scrapy ಆವೃತ್ತಿ ಬೆಂಬಲಿಸುವ ಮಿಡಲ್‌ವೇರ್ ಇಂಟರ್‌ಫೇಸ್ ಬಳಸಿ. ಸೆಲೆಕ್ಟರ್ ಮಾನ್ಯ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಹಿಂತಿರುಗಿಸಬೇಕು ಮತ್ತು ಲಭ್ಯವಿಲ್ಲದ ಪೂಲ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ವಹಿಸಬೇಕು. ಸಾರ್ವಜನಿಕ ಮಧ್ಯಸ್ಥರನ್ನು ಅನುಮತಿಸುವ ಸಾರ್ವಜನಿಕ ಕ್ರಾಲ್ ಆ ರಿಟರ್ನ್ ಮೌಲ್ಯಕ್ಕಾಗಿ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ HTTP ಅಭ್ಯರ್ಥಿಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು.

None ಹಿಂತಿರುಗಿಸಿದರೆ ಉಳಿದ ವಿನಂತಿ ಮಿಡಲ್‌ವೇರ್ ಮತ್ತು ಡೌನ್‌ಲೋಡರ್ ಮುಂದುವರಿಯಬಹುದು. ಇನ್ನೊಂದು Request ಹಿಂತಿರುಗಿಸುವುದು ನೀವು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಕೆಲಸವನ್ನು ಬದಲಿಸಿದಾಗ ಅಥವಾ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿದಾಗ ಉಪಯುಕ್ತ, ಆದರೆ ಅದಕ್ಕೆ ಕಾರಣ ಮತ್ತು ನಿರ್ಗಮನ ಷರತ್ತು ಬೇಕು.

ಪ್ರತಿ ಬಾರಿಯೂ ಅದೇ ವಿನಂತಿಯನ್ನು ಹಿಂತಿರುಗಿಸುವ ರೋಟೇಟರ್ ಎಂದಿಗೂ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಸಂಪರ್ಕ ಮಾಡದೆ ತನ್ನ ಆಯ್ಕೆ ಕೋಡ್ ಅನ್ನು ಪದೇ ಪದೇ ಚಲಾಯಿಸಬಹುದು. ಕಾಲಮಿತಿಗಳನ್ನು ಹೆಚ್ಚಿಸುವುದು ಅಥವಾ ಹೆಚ್ಚು ಪ್ರಾಕ್ಸಿ ಪೋರ್ಟ್‌ಗಳನ್ನು ತೆರೆಯುವುದು ಆ ನಿಯಂತ್ರಣ-ಹರಿವಿನ ಲೂಪ್ ಅನ್ನು ಸರಿಪಡಿಸಲಾರದು.

ಮಿಡಲ್‌ವೇರ್ ಪ್ರವೇಶ, ಹಿಂತಿರುಗಿಸುವ ವರ್ತನೆ ಮತ್ತು ಮೊದಲ ನಿಜವಾದ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಯತ್ನವನ್ನು ಪ್ರತ್ಯೇಕ ಘಟನೆಗಳಾಗಿ ಪರಿಶೀಲಿಸಿ. “ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆಯಾಗಿದೆ” ಎನ್ನುವ ಲಾಗ್ ಸಾಲು ಸೆಲೆಕ್ಟರ್ ಚಲಿಸಿತು ಎಂದು ಮಾತ್ರ ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಆಯ್ಕೆಯಾದ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ನೊಂದಿಗೆ ವಿನಂತಿ ಕಳುಹಿಸಲಾಗಿದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು