2015-10-24 39 views
5

मैंने स्प्रैपी के साथ प्रॉक्सीमेश का उपयोग करना शुरू किया। प्रॉक्सीमेश को एक बंदरगाह पर आईपी पते का पूल प्रदान करना है। नीचे दिए गए नमूना कोड कोड को लूप में दोहराया जा रहा है, मिडलवेयर सक्षम है और कुल मिलाकर यह ठीक काम करता है। क्या मैं ट्रैक कर सकता हूं (और यदि ऐसा है - कैसे?) प्रत्येक विशिष्ट अनुरोध के लिए कौन सा आईपी पता उपयोग किया जा रहा है?अनुरोध के लिए उपयोग किए गए आईपी पते की जांच करें पायथन/स्केपर + प्रॉक्सीमेश

request = scrapy.Request(producturl, self.parse_product_info) 
request.meta['proxy'] = 'http://uk.proxymesh.com:xxx' 
yield request 

मुझे एसओएफ पर समान पद मिलते हैं, लेकिन इस विशिष्ट प्रश्न को संबोधित नहीं करते हैं।

+1

शायद प्रॉक्सीमेश हेडर के अंदर उस जानकारी को लौटाता है, तो आप इसे प्रतिक्रिया पर प्रिंट करने का प्रयास कर सकते हैं: 'print response.headers'। बीटीडब्ल्यू, [क्रॉलर] [http://crawlera.com/) वास्तव में प्रतिक्रिया शीर्षकों पर प्रयुक्त प्रॉक्सी वापस कर देता है। – eLRuLL

+0

यह एक अच्छा संकेत है। एक प्रतिक्रिया शीर्षलेख है: एक्स-प्रॉक्सीमेश-आईपी। मैं इसे प्रतिक्रिया के रूप में पार्स करने में सक्षम था .headers.get ('एक्स-प्रॉक्सीमेश-आईपी')। मैं समझता हूं कि प्रॉक्सीमेश का उपयोग करने वाले तथ्य साइट के व्यवस्थापक के लिए भी दृश्यमान हैं, और क्या इसे छिपाना संभव है? – Turo

+1

निश्चित रूप से साइट को पता चलेगा कि कौन सी प्रॉक्सी (या आईपी) का उपयोग अपनी साइट को क्रॉल करने के लिए किया जाता है, लेकिन 'एक्स-प्रॉक्सीमेश-आईपी' केवल आपको वापस कर दिया जाता है। कम से कम यह है कि कैसे [crawlera] (http://crawlera.com) काम करता है। – eLRuLL

उत्तर

3

जैसा टिप्पणी में निर्दिष्ट, जानकारी प्रतिक्रिया हेडर पर आता है, बस इसे की जाँच करें:

def parse_response(self, response): 
    print response.headers 

आप सौंपा प्रॉक्सी के साथ X-Proxymesh-Ip हैडर देखना चाहिए।

एक और विकल्प crawlera का उपयोग करने के लिए किया जा सकता है जो और भी अधिक सुविधाएं प्रदान करता है (जैसे हेडर, सत्र और कुकी हैंडलिंग) और बेहतर दस्तावेज़ीकरण।

संबंधित मुद्दे