Proxy نى Scrapy نىڭ رەسىم تەلەپلىرىگە ئۇلاڭ
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 دائىرىسى ۋە قايتۇرما چاقىرۇشلىرى ساقلىنىدۇ. تارماق سىنىپ پەقەت تەلەپ يولىنى قوشىدۇ، ئۇنى ئاكتىپ HttpProxyMiddleware ئىشلىتىدۇ. ھەر بىر رەسىم URL ئۆز مەنزىلى بولۇپ قالىدۇ. proxy گۇۋاھنامىسى يوق يېڭى ئاممىۋى رەسىم تەلەپلىرى، بۇ يول رۇخسەت قىلىنغاندا HTTP proxy تىزىملىكى دىن بىر تۈرنى ئىشلىتەلەيدۇ.
بەت تەلەپلىرى ئۆز سىياسىتىنى ساقلايدۇ. دۇنيەۋى proxy مۇھىتىدا، بۇ نەشرىدە meta={'proxy': None} تاللانغان بەت تەلىپىنى بىۋاسىتە قىلىدۇ.
چۈشۈرۈشنىڭ ھەقىقەتەن چىققانلىقىنى تەكشۈرۈڭ. pipeline كەش ئۇچرىشىشى تور تەلىپىدىن ساقلىنىشى مۇمكىن. يېڭى يۆتكەشلەر ئۈچۈن، تاماملانغان رەسىم نەتىجە تۈرلىرىنى تەلەپ قىلىنغان URL لار بىلەن سېلىشتۇرۇڭ: مۇۋەپپەقىيەتلىك مەشغۇلاتلار شۇ يەردە كۆرۈنىدۇ، مەغلۇبىيەتلەر بولسا ئەسلى رەسىم-URL دائىرىسىنى تولدۇرۇپ قالدۇرۇشى مۇمكىن. يوقاپ كەتكەن نەتىجىلەرنى چۈشۈرگۈچ خاتىرىسى ۋە تاللانغان proxy ئارقىلىق ئىز قوغلاڭ.