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],
},
)
এই অনুৰোধটো মকৰাৰ বিদ্যমান আৰম্ভণি বা callback প্ৰবাহৰ জৰিয়তে অনুসূচীত কৰক। অনুমোদিত ৰাজহুৱা পৃষ্ঠা পৰীক্ষাৰ বাবে, HTTP প্ৰক্সি তালিকা এ অনুৰোধৰ প্ৰক্সি URL ৰ বাবে প্ৰাৰ্থী যোগান ধৰে। inspect_redirect এ প্ৰতিক্ৰিয়াৰ স্থিতি আৰু Location হেডাৰ ৰেকৰ্ড কৰা উচিত, পুনৰ অন্ধভাৱে অনুসৰণ নকৰি।
dont_redirect এ এই অনুৰোধৰ বাবে স্বয়ংক্ৰিয় ৰিডাইৰেক্ট বন্ধ কৰে। handle_httpstatus_list এ উল্লিখিত স্থিতিসমূহক HTTP-ত্ৰুটি ফিল্টাৰিঙে নাকচ কৰাৰ পৰিৱৰ্তে callback লৈ যাবলৈ দিয়ে। ছেটিংসমূহে বিভিন্ন middleware দায়িত্ব সামৰে।
ৰিডাইৰেক্টে কি বাছনি কৰে পৰীক্ষা কৰক: উদ্দেশ্য কৰা কেননিকেল URL, বেলেগ স্কিম বা হোস্টনাম, লগইন পৃষ্ঠা বা পুনৰাবৃত্তি চক্ৰ। সফল পৰিবহণৰ পিছত পোৱা 302 এ প্ৰক্সি সংযোগ খুলিব নোৱাৰাৰ পৰা বেলেগ পৰ্যবেক্ষণ।
স্বাভাৱিক ৰিডাইৰেক্ট পৰিচালনা পুনৰুদ্ধাৰ হ'লে, Scrapy এ প্ৰতিক্ৰিয়াৰ অনুৰোধ মেটাডেটাত redirect_urls আৰু redirect_reasons দেখুৱায়। এইবোৰে গোটেই crawl ৰ বাবে ৰিডাইৰেক্ট অক্ষম নৰখাকৈ চূড়ান্ত ফলাফললৈ যোৱা পথ সংৰক্ষণ কৰিব পাৰে।
চূড়ান্ত প্ৰতিক্ৰিয়া স্বয়ংক্ৰিয়ভাৱে এপ্লিকেশ্বনে ইচ্ছা কৰা পৃষ্ঠা নহয়। গন্তব্য আৰু প্ৰতিক্ৰিয়াৰ সমল ৰাউটিঙৰ নিৰ্ণয়ৰ সৈতে ৰাখক।