我可以用此代碼登錄Facebook。登錄後我可以訪問需要您在登錄頁面。用python登錄facebook
def SignIn(self):
url = 'https://login.facebook.com/login.php?login_attempt=1'
data = "locale=en_US&non_com_login=&email="+str(self.Username)+"&pass="+str(self.Password)+"&lsd=20TOl"
self.cookie = cookielib.CookieJar()
try:
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))
except:
sys.stderr.write("Unexpected error!".format(src))
try:
self.opener.open('https://www.facebook.com')
except:
sys.stderr.write("Unexpected error!1")
try:
self.opener.open(url, data)
except:
sys.stderr.write("Unexpected error!2")
self.IsSignIned=True
return self.opener
但這代碼不起作用
import requests
headers = {'Host':'www.facebook.com',
'Origin':'http://www.facebook.com',
'Referer':'http://www.facebook.com/',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11'}
s = requests.session(headers=headers)
login_data = {
'locale':'en_US',
'non_com_login':'',
'email':'[email protected]',
'pass':'mypassword',
'lsd':'20TOl'
}
r=s.post('https://login.facebook.com/login.php?login_attempt=1',data=login_data,verify=False)
print r.content
print r.status_code
它返回
的Facebook登錄
需要的餅乾
Cookies ar e未在瀏覽器中啓用。在繼續之前,請在您的 安全性首選項中調整此項。
,因爲我需要gzip和保活
這是什麼問題,我必須使用請求庫? 有沒有其他的庫可以處理所有這些? (Gzip,Keep-alive cookie,..)
我可能會誤會你在說什麼,但也許你只需要啓用瀏覽器的Cookie? – 2012-07-10 14:06:12
我使用Python而不是任何瀏覽器 – user1514512 2012-07-11 08:32:42