Scrapy ප්රොක්සි මිඩ්ල්වෙයාර්: Request සහ None ආපසු ලබාදෙන අගයන්
Scrapy ප්රොක්සියක් පැවරීමෙන් පසු පාලනය ආපසු දෙන්න, බාගැනීමට පෙර එම ඉල්ලීමම අහම්බෙන් නැවත කාලසටහන් නොකර.
ලොගයේ ප්රොක්සි ලිපිනය වෙනස් වේ. ගමනාන්තය ප්රොක්සියේ ප්රවේශ ලොගයේ කිසිදා නොපෙනේ. ඔබේ මිඩ්ල්වෙයාර් ඉල්ලීම බාගන්නා තැනට යාමට ඉඩ දෙනවාදැයි පරීක්ෂා කරන්න.
Scrapy හි බාගන්නා මිඩ්ල්වෙයාර්හි, Request ආපසු දීම යනු එම ඉල්ලීම නැවත කාලසටහන් කිරීමයි. එයින් අදහස් වන්නේ “මම දැන් වෙනස් කළ මෙටාදත්ත සමඟ මෙම වස්තුව යැවීම දිගටම කරගෙන යන්න” යන්න නොවේ.
මාර්ගයක් පමණක් තෝරන තේරීම්කරුවෙකුට වැදගත් ආකෘතිය මෙයයි:
def process_request(self, request):
request.meta['proxy'] = self.choose_proxy()
return None
මෙම කොටස වත්මන් හුක් ආකෘතිය පෙන්වයි; ස්ථාපිත Scrapy නිකුතුව සහාය දක්වන මිඩ්ල්වෙයාර් අතුරුමුහුණත භාවිතා කරන්න. තේරීම්කරු වලංගු අන්ත ලක්ෂ්යයක් ආපසු දිය යුතු අතර නොමැති තටාකයක් පැහැදිලිව හසුරුවා ගත යුතුය. පොදු මැදිහත්කරුවන්ට ඉඩ දෙන පොදු බඩගාම HTTP ප්රොක්සි ලැයිස්තුවවෙන් එම ආපසු අගය සඳහා HTTP අපේක්ෂකයින් ලබා ගත හැකිය.
None ආපසු දීමෙන් ඉතිරි ඉල්ලීම් මිඩ්ල්වෙයාර් සහ බාගන්නා ඉදිරියට යාමට ඉඩ ලැබේ. තවත් Request එකක් ආපසු දීම ඔබ අරමුණු සහගතව වැඩ ප්රතිස්ථාපනය කරන විට හෝ නැවත උත්සාහ කරන විට ප්රයෝජනවත් වේ, නමුත් එයට හේතුවක් සහ පිටවීමේ කොන්දේසියක් අවශ්ය වේ.
සෑම විටම එම ඉල්ලීමම ආපසු දෙන භ්රමකයක් ගමනාන්තයට සම්බන්ධතාවයක් කිසිදා නොකර තම තේරීම් කේතය නැවත නැවත ධාවනය කළ හැකිය. කාල සීමා ඉහළ නැංවීම හෝ තවත් ප්රොක්සි පෝට් විවෘත කිරීම එම පාලන ප්රවාහ ලූපය අලුත්වැඩියා කළ නොහැකිය.
මිඩ්ල්වෙයාර් ප්රවේශය, ආපසු දීමේ හැසිරීම සහ පළමු සැබෑ ජාල උත්සාහය වෙන වෙනම සිදුවීම් ලෙස පරීක්ෂා කරන්න. “ප්රොක්සි තෝරන ලදි” යන ලොග් පේළිය තේරීම්කරු ධාවනය වූ බව පමණක් ඔප්පු කරයි. තෝරන ලද අන්ත ලක්ෂ්යය සමඟ ඉල්ලීමක් යවා ඇති බව එය ඔප්පු නොකරයි.