Scrapy திருப்பிவிடலைப் பின்பற்றுவதற்கு முன் காட்ட முடியும்
கோரிக்கை மெட்டாடேட்டா வழியாக ப்ராக்ஸி GET இன் ஆரம்ப திருப்பிவிடல் நிலை மற்றும் Location ஐ தற்காலிகமாக வெளிப்படுத்துங்கள், திருப்பிவிடல் கையாளுதலை HTTP பிழை வடிகட்டலில் இருந்து தனியாக வைத்து.
ப்ராக்ஸி GET ஒரு சேவையகத்தை அடைந்து பின்னர் திருப்பிவிடல்களைப் பின்பற்றலாம், இறுதி தோல்வி முதல் பதிலை மறைக்கும் வரை. கண்டறிதலுக்கு அந்த ஆரம்ப பதிலை வெளிப்படுத்துங்கள்:
request = scrapy.Request(
'https://service.example/page',
callback=inspect_redirect,
meta={
'proxy': 'http://proxy.example:8080',
'dont_redirect': True,
'handle_httpstatus_list': [301, 302, 303, 307, 308],
},
)
இந்த கோரிக்கையை சிலந்தியின் தற்போதைய start அல்லது callback ஓட்டத்தின் வழியாக திட்டமிடுங்கள். அனுமதிக்கப்பட்ட பொது-பக்க சோதனைக்கு, HTTP ப்ராக்ஸி பட்டியல் கோரிக்கையின் ப்ராக்ஸி URL க்கு வேட்பாளர்களை வழங்குகிறது. inspect_redirect பதிலின் நிலை மற்றும் Location தலைப்பை பதிவு செய்ய வேண்டும், மீண்டும் கண்மூடித்தனமாகப் பின்பற்றாமல்.
dont_redirect இந்த கோரிக்கைக்கு தானியங்கி திருப்பிவிடலை நிறுத்துகிறது. handle_httpstatus_list பெயரிடப்பட்ட நிலைகள் HTTP பிழை வடிகட்டலால் நிராகரிக்கப்படாமல் callback ஐ அடைய அனுமதிக்கிறது. இந்த அமைப்புகள் middleware இன் வெவ்வேறு பொறுப்புகளைப் பற்றியவை.
திருப்பிவிடல் எதைத் தேர்ந்தெடுக்கிறது என்பதைச் சரிபார்க்கவும்: நோக்கமான நியம URL, வேறு திட்டம் அல்லது புரவலன் பெயர், உள்நுழைவு பக்கம் அல்லது மீளும் சுழற்சி. வெற்றிகரமான இடமாற்றத்திற்குப் பிறகு பெறப்பட்ட 302, ப்ராக்ஸி இணைப்பைத் திறக்க முடியாததிலிருந்து வேறுபட்ட கவனிப்பாகும்.
சாதாரண திருப்பிவிடல் கையாளுதல் மீட்டெடுக்கப்படும்போது, Scrapy பதிலின் கோரிக்கை மெட்டாடேட்டாவில் redirect_urls மற்றும் redirect_reasons ஐ வெளிப்படுத்துகிறது. இவை முழு ஊர்வலத்திற்கும் திருப்பிவிடல்களை முடக்கி வைக்காமல் இறுதி முடிவுக்கான பாதையைப் பாதுகாக்க முடியும்.
இறுதி பதில் தானாகவே பயன்பாடு நோக்கிய பக்கமாக இருக்காது. இலக்கு மற்றும் பதிலின் உள்ளடக்கத்தை வழிமாற்றல் கண்டறிதலுடன் வைத்திருங்கள்.