Scrapy shell ನಲ್ಲಿ ಒಂದು ಫೆಚ್ಗಾಗಿ ಪ್ರಾಕ್ಸಿ
Scrapy shell ಒಳಗೆ Request ನ ಪ್ರಾಕ್ಸಿ ಮೆಟಾಡೇಟಾವನ್ನು ಬಳಸಿ ಮತ್ತು ಆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ವಿನಂತಿಯ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.
Scrapy shell ಒಳಗೆ, ನೀವು ಡೌನ್ಲೋಡರ್ ಮಾಡಬೇಕೆಂದಿರುವ ವಿನಂತಿಯನ್ನು ನಿರ್ಮಿಸಿ:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware ಆ Request ನ ಮೆಟಾಡೇಟಾದಿಂದ ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯವನ್ನು ಓದುತ್ತದೆ. ಅದು ಸಕ್ರಿಯ ಡೌನ್ಲೋಡರ್ ಮಿಡಲ್ವೇರ್ ಸಂರಚನೆಯಲ್ಲಿ ಸಕ್ರಿಯವಾಗಿರಬೇಕು. ನಂತರದ response ವೇರಿಯೇಬಲ್ ಈ ಫೆಚ್ಗೆ ಸೇರಿದೆ. ಈ ಸಾರ್ವಜನಿಕ URL ಗಾಗಿ, ಸಾರ್ವಜನಿಕ ಮಧ್ಯವರ್ತಿಗಳನ್ನು ಅನುಮತಿಸಿದರೆ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ ದೃಢೀಕರಣವಿಲ್ಲದ HTTP ವಿಳಾಸವನ್ನು ಆಯ್ಕೆಮಾಡಿ, ನಂತರ ಅದರ URL ಅನ್ನು ಆ ವಿನಂತಿಯ ಪ್ರಾಕ್ಸಿ ಮೆಟಾಡೇಟಾದಲ್ಲಿ ಇರಿಸಿ.
Scrapy ಯೋಜನೆಯಿಂದ shell ಪ್ರಾರಂಭಿಸುವುದು ಅದಕ್ಕೆ ಆ ಯೋಜನೆಯ ಸಂರಚನೆಯನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ಅದು ಮಿಡಲ್ವೇರ್ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತದೆ; ಅದು ಸ್ವತಃ ನಿರ್ದಿಷ್ಟ ಪ್ರಾಕ್ಸಿ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವುದಿಲ್ಲ. ಮೇಲಿನ ವಿನಂತಿ ಮೆಟಾಡೇಟಾ ಆ ಆಯ್ಕೆಯನ್ನು ನೇರವಾಗಿ ಒದಗಿಸುತ್ತದೆ.
Basic ರುಜುವಾತುಗಳನ್ನು ಬಳಸುವ ಪ್ರಾಕ್ಸಿಗೆ, Scrapy ಪ್ರಾಕ್ಸಿ URL ನಲ್ಲಿ ಬಳಕೆದಾರರ ಮಾಹಿತಿಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ. ಅದನ್ನು ನಿರ್ಮಿಸುವ ಮೊದಲು ಖಾತೆಯ ಘಟಕಗಳಲ್ಲಿ ಕಾಯ್ದಿರಿಸಿದ ಅಕ್ಷರಗಳನ್ನು ಎನ್ಕೋಡ್ ಮಾಡಿ. ಆ ಖಾತೆಗೆ ವೆಬ್ಸೈಟ್ Authorization ಹೆಡರ್ ಸೇರಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.
Scrapy ತನ್ನ ಬೆಂಬಲಿತ ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳಿಂದಲೂ ಪ್ರಾಕ್ಸಿಗಳನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು. ವಿನಂತಿಯ ಸ್ಪಷ್ಟ ಪ್ರಾಕ್ಸಿ ಮೆಟಾಡೇಟಾಗೆ ಆದ್ಯತೆ ಇರುತ್ತದೆ. ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನೇರ ವಿನಂತಿಗೆ, None ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯವು ಆ ಮಿಡಲ್ವೇರ್ನ ಪರಿಸರ-ಆಧಾರಿತ ಆಯ್ಕೆಯನ್ನು ವಿನಂತಿಗೆ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.