मुझे फेसबुक पर अपने प्रत्येक मित्र के दोस्तों की संख्या प्राप्त करने में दिलचस्पी है। स्पष्ट रूप से आधिकारिक फेसबुक एपीआई दोस्तों के दोस्तों को पाने की इजाजत नहीं देता है, इसलिए मुझे किसी भी तरह से कुछ (समझदार समझदार) सीमा प्राप्त करने की आवश्यकता है। मैंने निम्नलिखित कोशिश की:पायथन में स्क्रैप फेसबुक
import sys
import urllib, urllib2, cookielib
username = '[email protected]'
password = 'mypassword'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'email' : username, 'pass' : password})
request = urllib2.Request('https://login.facebook.com/login.php')
request.add_header('User-Agent','Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Fedora/3.6.12-1.fc14 Firefox/3.6.12')
opener.open(request, login_data)
resp = opener.open('http://facebook.com')
print resp.read()
लेकिन मैं केवल एक कैप्चा पेज के साथ समाप्त होता हूं। कोई विचार यह है कि एफबी कैसे पता लगा रहा है कि अनुरोध "सामान्य" ब्राउज़र से नहीं है? मैं एक अतिरिक्त कदम जोड़ सकता हूं और कैप्चा को हल कर सकता हूं लेकिन इससे प्रोग्राम में अनावश्यक जटिलता बढ़ जाएगी, इसलिए मैं इसे टालना चाहूंगा। जब मैं एक ही उपयोगकर्ता-एजेंट स्ट्रिंग के साथ एक वेब ब्राउज़र का उपयोग करता हूं तो मुझे कैप्चा नहीं मिलता है।
वैकल्पिक रूप से, क्या किसी के पास मेरे लक्ष्य को पूरा करने के तरीके पर कोई सैनर विचार है, यानी दोस्तों के दोस्तों की एक सूची प्राप्त करें?
दिलचस्प खोज। मैंने सोचा कि वे डिफ़ॉल्ट रूप से कैप्चा प्रदर्शित कर रहे हैं और फिर इसे जेएस के साथ छिपा सकते हैं, लेकिन जब मैं एफएफ में जेएस को अक्षम करने का प्रयास करता हूं, तो ऐसा लगता है कि ऐसा नहीं लगता है। हालांकि, मेरे दोस्त के दोस्तों को देखने के लिए ऐसा लगता है कि AJAX की आवश्यकता है, जो भी निषिद्ध होगा। – mpen