मैं एक मकड़ी के भीतर सत्र कुकी तक पहुंचने का प्रयास कर रहा हूं। मैं पहली बार एक मकड़ी में उपयोग करते हुए एक सामाजिक नेटवर्क के लिए लॉग इन:स्क्रैप स्पाइडर में एक्सेस सत्र कुकी
def parse(self, response):
return [FormRequest.from_response(response,
formname='login_form',
formdata={'email': '...', 'pass':'...'},
callback=self.after_login)]
after_login
में, मैं आगे एक साथ पेज पर कार्रवाई करने के लिए एक और मॉड्यूल के लिए उन्हें पारित करने के लिए (सेलेनियम यहाँ) क्रम में, सत्र कुकीज़ का उपयोग करना चाहते हैं प्रमाणित सत्र।
def after_login(self, response):
# process response
.....
# access the cookies of that session to access another URL in the
# same domain with the autehnticated session.
# Something like:
session_cookies = XXX.get_session_cookies()
data = another_function(url,cookies)
दुर्भाग्य से, response.cookies
सत्र कुकीज़ वापस नहीं करता है:
मैं ऐसा ही कुछ करना चाहते हैं।
मैं सत्र कुकीज़ कैसे प्राप्त कर सकता हूं? मैं कुकीज मिडलवेयर देख रहा था: scrapy.contrib.downloadermiddleware.cookies और scrapy.http.cookies लेकिन सत्र कुकीज़ तक पहुंचने का कोई सीधा तरीका प्रतीत नहीं होता है।
मुक्केबाज़ी अपने मूल प्रश्न यहां कुछ और जानकारी:
दुर्भाग्य से, मैं अपने विचार थे, लेकिन मैं कुकीज़ देखने dind't, हालांकि मुझे यकीन है कि वे scrapy.contrib.downloadermiddleware के बाद से मौजूद है के लिए पता .cookies मिडलवेयर कुकीज प्रिंट करता है! ये बिल्कुल कुकीज़ हैं जिन्हें मैं पकड़ना चाहता हूं।
after_login (स्वयं, प्रतिक्रिया) विधि उचित प्रमाणीकरण के बाद प्रतिक्रिया चर प्राप्त करता है, और उसके बाद मैं सत्र डेटा के साथ एक URL तक पहुँचने:
def after_login(self, response):
# testing to see if I can get the session cookies
cookieJar = response.meta.setdefault('cookie_jar', CookieJar())
cookieJar.extract_cookies(response, response.request)
cookies_test = cookieJar._cookies
print "cookies - test:",cookies_test
# URL access with authenticated session
url = "http://site.org/?id=XXXX"
request = Request(url=url,callback=self.get_pict)
return [request]
तो यहाँ मैं क्या कर रहा हूँ है शो नीचे उत्पादन के रूप में, वहाँ वास्तव में कुकीज़ कर रहे हैं, लेकिन मैं उन्हें cookieJar साथ कब्जा करने के लिए असफल:
cookies - test: {}
2012-01-02 22:44:39-0800 [myspider] DEBUG: Sending cookies to: <GET http://www.facebook.com/profile.php?id=529907453>
Cookie: xxx=3..........; yyy=34.............; zzz=.................; uuu=44..........
तो मैं कुंजी xxx युक्त एक शब्दकोश प्राप्त करना चाहते हैं, yy y आदि संबंधित मूल्यों के साथ।
धन्यवाद :)
मैं सही ढंग से समझते हैं कि आप फेसबुक पर प्रमाणित करने के लिए चाहते हैं, लेकिन एक अलग डोमेन से स्क्रैप डेटा फेसबुक पर प्रमाणीकृत किया जा रहा है? – warvariuc