Scrapy ప్రాక్సీ సెట్టింగ్లను CrawlerProcess స్క్రిప్ట్లోకి లోడ్ చేయండి
స్వతంత్ర లాంచర్ scrapy crawl మాదిరిగానే అదే డౌన్లోడర్ మిడిల్వేర్ను ఉపయోగించాల్సి వచ్చినప్పుడు get_project_settings() ను CrawlerProcess కు అందించండి.
స్పైడర్ scrapy crawl కింద ఆశించిన ప్రాక్సీని ఉపయోగించవచ్చు, కానీ Python స్క్రిప్ట్ ద్వారా ప్రారంభించినప్పుడు నేరుగా వెళ్తుంది. ప్రాక్సీ సర్వర్ను మార్చే ముందు ఆ స్క్రిప్ట్ తన సెట్టింగ్లను ఎలా నిర్మిస్తుందో తనిఖీ చేయండి.
ఇప్పటికే ఉన్న Scrapy ప్రాజెక్ట్ మరియు దాని నమోదైన స్పైడర్ కోసం:
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()
catalog స్థానంలో ప్రాజెక్ట్ స్పైడర్ పేరు పెట్టండి. ప్రాజెక్ట్ తన scrapy.cfg ద్వారా, లేదా దిగుమతి చేయగల సెట్టింగ్ల మాడ్యూల్ను సూచించే సరిగ్గా సెట్ చేసిన SCRAPY_SETTINGS_MODULE ద్వారా కనుగొనగలిగి ఉండాలి.
కేవలం CrawlerProcess() నిర్మించడం స్క్రిప్ట్ స్పైడర్ క్లాస్ను కూడా దిగుమతి చేస్తుంది అనే కారణంతో మాత్రమే ప్రాజెక్ట్ సెట్టింగ్ల ఫైల్ను దిగుమతి చేయదు. అందువల్ల DOWNLOADER_MIDDLEWARES ద్వారా ప్రారంభించిన అనుకూల మిడిల్వేర్ ఆ రన్లో ఉండకపోవచ్చు.
సెట్టింగ్లను లోడ్ చేయడం కాన్ఫిగర్ చేసిన భాగాలను అందిస్తుంది; అది ప్రాక్సీ చిరునామాను సృష్టించదు. Scrapy యొక్క HTTP ప్రాక్సీ మిడిల్వేర్కు ఇప్పటికీ దాని సాధారణ పర్యావరణ ప్రాక్సీ లేదా స్పష్టమైన request.meta['proxy'] విలువ అవసరం. HTTPPROXY_ENABLED దాన్ని నిలిపివేయలేదని తనిఖీ చేయండి. అనుమతించిన పబ్లిక్ పేజీ క్రాల్ కోసం HTTP ప్రాక్సీ జాబితా ఆ మెటాడేటా లేదా పర్యావరణం ద్వారా అందించే HTTP ప్రాక్సీ విలువకు అభ్యర్థులను అందిస్తుంది.
లాంచర్ లోడ్ చేసిన సెట్టింగ్లు మరియు క్రియాశీల మిడిల్వేర్ను కమాండ్-లైన్ రన్తో పోల్చండి. అవి సరిపోలితే, ఎంచుకున్న అభ్యర్థన యొక్క ప్రాక్సీ మెటాడేటా మరియు వాస్తవ రవాణా లోపంతో కొనసాగండి.