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 ప్రాక్సీ విలువ ఆ మిడిల్వేర్ యొక్క పర్యావరణ-ఆధారిత ఎంపికను అభ్యర్థనకు నిలిపివేస్తుంది.