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 പ്രോക്സി മൂല്യത്തിന് സ്ഥാനാർത്ഥികളെ നൽകുന്നു.
ലോഞ്ചറിന്റെ ലോഡ് ചെയ്ത ക്രമീകരണങ്ങളും സജീവ മിഡിൽവെയറും കമാൻഡ് ലൈൻ റണ്ണുമായി താരതമ്യം ചെയ്യുക. അവ ഒത്തുപോയാൽ തിരഞ്ഞെടുത്ത അഭ്യർത്ഥനയുടെ പ്രോക്സി മെറ്റാഡാറ്റയും യഥാർത്ഥ ഗതാഗത പിശകും കൊണ്ട് തുടരുക.