当我运行代码时,它不会出错,但我注意到它确实不会登录到Facebook并发布一个“helloworld”的帖子。一旦登录就再也没有了。 我使用了图形API。你知道吗
我很想得到一些帮助。谢谢
import urllib2, cookielib, re, os, sys
from facepy import GraphAPI
import facebook
class Facebook:
def __init__(self, email, password):
self.email = email
self.password = password
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.add_headers = [('Referer', 'http://login.facebook.com/login.php'),
('Content-Type', 'application/x-www-form-urlencoded'),
('User-Agent', 'Mozilla/8.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7'),
'Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)']
self.opener = opener
def login(self):
url = 'https://login.facebook.com/login.php'
data = "locale=en_US&non_com_login=&email=" + self.email + "&pass="+ self.password + "&lsd=20TOl"
usock = self.opener.open('https://www.facebook.com/')
usock = self.opener.open(url, data)
read = usock.read()
if "Logout" in read:
print "Logged in."
graph = facebook.GraphAPI(Access Token)
graph.put_object("me", "feed", post="Hello, World!")
else:
print "failed login"
print read
sys.exit()
print read
f = Facebook("email", "password")
f.login()
nik = graph.fql('select uid, name, friends from user where uid in'
'(select first_name, middle_name, last_name '
'from friend where uid1 = me())')
print nik
我建议你查一些facebook文档,可能有一个API。但我还是试着用请求登录facebook,但很痛苦。如果你的目标只是简单地登录到facebook,那么你可以简单地使用selenium的webdriver,这很好。 下面是一个可能会让您开始学习的片段:
出于测试目的,可以使用
webdriver.Firefox()
而不是PhantomJS()
登录后,您还可以切换到请求会话,这可能会更快。(因此您需要import requests
)相关问题 更多 >
编程相关推荐