Scrapy ማዞሪያውን ከመከተል በፊት ማሳየት ይችላል
የተኪ (proxy) 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 እንዳይሰናከሉ ሳይቀሩ ወደ መጨረሻ ውጤት የሚወስደውን መንገድ ማስቀመጥ ይችላሉ።
የመጨረሻ ምላሽ በራስ-ሰር መተግበሪያው የፈለገው ገጽ አይደለም። መዳረሻውን እና የምላሽ ይዘቱን ከማዞሪያ ምርመራው ጋር ያስቀምጡ።