如果你想登錄到你的Facebook個人資料頁我設法與這個腳本做到這一點:
保存此文件作爲fb_login.py,並在同一文件夾中創建一個文件fb_test.html
我成功登錄了,您可以通過在瀏覽器中查看fb_test.html或以純文本搜索您的名字來證明。
有誰知道如何使用簡單的自動驗證憑證登錄,而不需要使用SECRET和API密鑰來創建應用程序?
import urllib, urllib2, cookielib
user = 'put_your_mail_here'
passwd = 'put_your_password_here'
file = './fb_test.html'
url_login = "https://login.facebook.com/login.php?"
url_action = "https://login.facebook.com/login.php?login_attempt=1"
url_topic = "http://www.facebook.com/profile.php?id=___put_your_profile_Number_here"
url_index = "https://login.facebook.com/login.php?"
def login(user, password, url_action):
cj = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
opener.addheaders=[('Content-Type','application/x-www-form-urlencoded'),('Connection','keep-alive'),('User-Agent','Mozilla/5.0')]
params = urllib.urlencode({'action':url_action , 'referer':url_index, 'email':user, 'pass':passwd,
'loginTrue':"login"})
f = opener.open(url_action, params)
f.close()
f = opener.open(url_action, params)
f.close()
return opener
def get_source_code(opener, url_x):
f = opener.open(url_x)
data = f.read()
print type(data)
f.close()
return data
def keep_log(data, file):
f = open(file, 'w')
f.write(data)
f.close()
opener = login(user, passwd, url_action)
src_code = get_source_code(opener, url_topic)
keep_log(src_code, file)
print src_code
有一個進一步的解釋下來:http://wiki.developers.facebook.com/index.php/User:PyFacebook_Tutorial#Adding_content_to_a_profile_page_without_user_interaction.2Flogin ......然而,通知上說,該方法是目前'過度殺傷'......希望有人分享經驗可能會有所幫助......否則,會嘗試這種方式。 – thornomad 2009-12-15 15:02:02
評論是「無限會話關鍵技巧」是矯枉過正。我仍然傾向於先遵循教程,只是爲了使其工作。在獲得API的感覺後,您可以按照會話密鑰建議進行操作。 – 2009-12-15 15:13:23
還沒有設置發佈,但這是有幫助的:http://www.emcro.com/blog/2009/01/facebook-infinite-session-keys-no-more/ – thornomad 2009-12-15 15:43:32