Scrapy ನ ಪ್ರಾಕ್ಸಿ ಎಂಡ್ಪಾಯಿಂಟ್ ಮತ್ತು ಸಂಪರ್ಕ IP ಓದುವುದು
ಆಯ್ದ ಪ್ರಾಕ್ಸಿಗೆ ವಿನಂತಿಯ ಮೆಟಾಡೇಟಾ ಬಳಸಿ, response.ip_address ಅನ್ನು ಹ್ಯಾಂಡ್ಲರ್ ಒದಗಿಸಿದ ಪೀರ್ ಮಾಹಿತಿ ಎಂದು ಪರಿಗಣಿಸಿ, ಮತ್ತು ಗಮ್ಯಸ್ಥಾನದಲ್ಲಿ ನಿರ್ಗಮನ IP ಪರಿಶೀಲಿಸಿ.
ಪೂರ್ಣಗೊಂಡ ಪ್ರತಿಕ್ರಿಯೆಗೆ ಜೋಡಿಸಲಾದ Request ಬಳಸಿ ಅದರ ಆಯ್ದ ಮಾರ್ಗವನ್ನು ಪರಿಶೀಲಿಸಿ. ಮೂರು ಅವಲೋಕನಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ:
| ಕ್ಷೇತ್ರ | ಅರ್ಥ |
|---|---|
response.request.meta.get('proxy') | ಈ ವಿನಂತಿಯ ಆಯ್ದ ಪ್ರಾಕ್ಸಿ URL, ಇದ್ದಾಗ |
response.ip_address | ಡೌನ್ಲೋಡ್ ಹ್ಯಾಂಡ್ಲರ್ ಒದಗಿಸಿದ ವಿಳಾಸ, None ಆಗಿರಬಹುದು |
| ವಿಶ್ವಾಸಾರ್ಹ ಗಮ್ಯಸ್ಥಾನದ ಮೂಲ ವರದಿ | ಅಲ್ಲಿ ಗಮನಿಸಿದ ಸಾರ್ವಜನಿಕ ಮೂಲ |
ಕಾಲ್ಬ್ಯಾಕ್ ಒಳಗೆ, ರುಜುವಾತು ಹೊತ್ತ URL ಭಾಗಗಳನ್ನು ಸಾಮಾನ್ಯ ರೋಗನಿರ್ಣಯದಿಂದ ಬಿಟ್ಟುಬಿಡಿ:
from urllib.parse import urlsplit
proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
'target_host=%s proxy_host=%s peer_ip=%s',
urlsplit(response.url).hostname, proxy_host, response.ip_address,
)Scrapy 2.13.3 ನ HTTP/1.1 ಹ್ಯಾಂಡ್ಲರ್ನಲ್ಲಿ ವಿಳಾಸವು ಪ್ರತಿಕ್ರಿಯೆಯ ಸಂಪರ್ಕ ಪೀರ್ನಿಂದ ಬರುತ್ತದೆ, ನಿರ್ಗಮನ-IP ಸೇವೆಯಿಂದ ಅಲ್ಲ. ಕೆಲವು ಮಾರ್ಗಗಳು, ಶೂನ್ಯ-ಉದ್ದದ ಪ್ರತಿಕ್ರಿಯೆಗಳೂ ಸೇರಿದಂತೆ, ಅದನ್ನು None ಆಗಿ ಬಿಡಬಹುದು. ಇತರ ಹ್ಯಾಂಡ್ಲರ್ಗಳು ಅದನ್ನು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ತುಂಬಬಹುದು. None ತಾನೇ ನೇರ ರೂಟಿಂಗ್ ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ.
ನಿರ್ಗಮನ ಪರಿಶೀಲನೆಗೆ, ಉದ್ದೇಶಿತ ಪ್ರಾಕ್ಸಿ ನೀತಿಯ ಅಡಿಯಲ್ಲಿ ವಿಶ್ವಾಸಾರ್ಹ ಎಂಡ್ಪಾಯಿಂಟ್ ಕೇಳಿ ಮತ್ತು ವಿನಂತಿಯ ಗುರುತನ್ನು ಅವಲೋಕನದೊಂದಿಗೆ ಇರಿಸಿ. ತಿರುಗುವ ಮಿಡಲ್ವೇರ್ ಮುಂದಿನ ಪರಿಶೀಲನೆಗೆ ಇನ್ನೊಂದು ಎಂಡ್ಪಾಯಿಂಟ್ ನೀಡಬಹುದು.
ಮರುನಿರ್ದೇಶನಗಳು ಇನ್ನೊಂದು ವಿನಂತಿಯನ್ನೂ ಸೃಷ್ಟಿಸುತ್ತವೆ. ಅಂತಿಮ ಮೆಟಾಡೇಟಾ ಆ ಹಂತವನ್ನು ವಿವರಿಸುತ್ತದೆ; ಮೊದಲ URL ನ ಮಾರ್ಗಕ್ಕೆ ಸಾಕ್ಷಿ ಎಂದು ಪರಿಗಣಿಸುವ ಬದಲು ಮರುನಿರ್ದೇಶನ ಇತಿಹಾಸ ಮತ್ತು ಮಿಡಲ್ವೇರ್ನ ಯಾವುದೇ ಮರುಆಯ್ಕೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.