پروکسي د Scrapy د انځور غوښتنو سره نښلول
هغه Requests چې ImagesPipeline جوړوي ښکلي کړئ، تر څو د انځورونو ډاونلوډونه پرته له دې چې د pipeline د غوښتنې منطق بیا جوړ شي، پروکسي ترلاسه کړي.
from scrapy.pipelines.images import ImagesPipeline
class ProxiedImagesPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for request in super().get_media_requests(item, info):
request.meta['proxy'] = 'http://proxy.example:8080'
yield request
د Scrapy 2.13.3 لپاره، په ITEM_PIPELINES کې معیاري ImagesPipeline ننوتنه د دې فرعي ټولګي د import لارې سره بدله کړئ. IMAGES_STORE او نور تنظیمات وساتئ.
د مورني ټولګي غوښتنه کول د هغې تنظیم شوی انځور-URL ساحه او بیرته غږونکي خوندي ساتي. فرعي ټولګی یوازې د غوښتنې لار زیاتوي، چې فعال HttpProxyMiddleware یې کاروي. هر انځور URL خپل هدف پاتې کیږي. نوي عمومي-انځور غوښتنې چې د پروکسي اعتبارنامې نلري کولای شي د HTTP پروکسي لیست څخه یوه ننوتنه وکاروي کله چې هغه لار اجازه ولري.
د پاڼې غوښتنې خپله تګلاره ساتي. په نړیوال پروکسي چاپیریال کې، meta={'proxy': None} په دې خپرونه کې ټاکل شوې پاڼې غوښتنه مستقیمه کوي.
وګورئ چې ډاونلوډ واقعاً صادر شوی. د pipeline د کاش وهل کولای شي د شبکې غوښتنې مخه ونیسي. د نویو لېږدونو لپاره، د بشپړ شوي انځور د پایلو ننوتنې د غوښتل شویو URL سره پرتله کړئ: بریالۍ عملیات هلته ښکاري، پداسې حال کې چې ناکامي کولای شي اصلي انځور-URL ساحه ډکه پریږدي. ورک شوې پایلې د ډاونلوډر لاګونو او ټاکل شوي پروکسي له لارې تعقیب کړئ.