Scrapy හි රූප ඉල්ලීම් වෙත proxy එක සම්බන්ධ කරන්න
ImagesPipeline විසින් සාදන Requests සරසන්න, එවිට pipeline හි ඉල්ලීම් තර්කය නැවත ගොඩනැගීමකින් තොරව රූප බාගැනීම්වලට proxy ලැබේ.
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 ක්ෂේත්රය සහ callback සුරැකේ. උප පන්තිය එක් කරන්නේ ඉල්ලීම් මාර්ගය පමණක් වන අතර එය සක්රීය HttpProxyMiddleware භාවිත කරයි. සෑම රූප URL එකක්ම එහි ගමනාන්තය ලෙස පවතී. proxy අක්තපත්ර නොමැති නව පොදු-රූප ඉල්ලීම්, එම මාර්ගයට අවසර ඇති විට HTTP proxy ලැයිස්තුවවෙතින් සටහනක් භාවිත කළ හැක.
පිටු ඉල්ලීම් තමන්ගේම ප්රතිපත්තියක් රඳවා ගනී. ගෝලීය proxy පරිසරයක් සමඟ, මෙම නිකුතුවේදී meta={'proxy': None} තෝරාගත් පිටු ඉල්ලීම සෘජු කරයි.
බාගැනීමක් සැබවින්ම නිකුත් වී ඇත්දැයි පරීක්ෂා කරන්න. pipeline හි cache වැදීමක් ජාල ඉල්ලීමක් වළක්වා ගත හැක. නව මාරු කිරීම් සඳහා, සම්පූර්ණ වූ රූපවල ප්රතිඵල සටහන් ඉල්ලා සිටි URL සමඟ සසඳන්න: සාර්ථක ක්රියා එහි දිස්වන අතර, අසාර්ථකතා මුල් රූප-URL ක්ෂේත්රය පිරී තිබීමට හැරිය හැක. නැති වූ ප්රතිඵල බාගැනීම් ලොග සහ තෝරාගත් proxy හරහා සොයා ගන්න.