Очистить Facebook с помощью Python

Мне интересно узнать количество друзей, которые есть у каждого из моих друзей на Facebook. Очевидно, официальный Facebook API не позволяет заводить друзей друзей, поэтому мне нужно как-то обойти это (в некоторой степени разумное) ограничение. Я пробовал следующее:

import sys
import urllib, urllib2, cookielib

username = 'me@example.com'
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()

, но в итоге получаю только страницу с капчами. Любая идея, как FB определяет, что запрос не из "обычного" браузера? Я мог бы добавить дополнительный шаг и решить капчу, но это добавило бы ненужной сложности программе, поэтому я бы предпочел избегать его. Когда я использую веб-браузер с той же строкой User-Agent, я не вводите капчу.

В качестве альтернативы, есть ли у кого-нибудь более разумные идеи о том, как достичь моей цели, например, получить список друзей друзей?

7
задан pafcu 28 November 2010 в 15:03
поделиться