प्रॉक्सी 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 उघड करते. हे संपूर्ण क्रॉलसाठी रीडायरेक्ट अक्षम ठेवल्याशिवाय अंतिम निकालाकडे जाणारा मार्ग जतन करू शकतात.

अंतिम प्रतिसाद हे ॲप्लिकेशनने हेतू ठेवलेले पृष्ठ आपोआप नसते. गंतव्यस्थान आणि प्रतिसादाची सामग्री राउटिंग निदानासोबत ठेवा.

संबंधित लेख