使用python登录facebook
我可以用这个代码登录facebook。登录后,我可以访问一个需要您登录的页面使用python登录facebook,python,facebook,cookies,login,keep-alive,Python,Facebook,Cookies,Login,Keep Alive,我可以用这个代码登录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"
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':'mymail@mail.com',
'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登录
需要饼干吗
浏览器上未启用Cookie。请在您的房间里调整这个
继续之前,请先选择安全首选项
我必须使用请求库,因为我需要Gzip并保持活动状态
有什么问题?
有没有其他的图书馆可以处理所有这些?(Gzip,Keep alive cookie,…)你真的需要自己做所有的事情吗?你试过facepy吗(https://github.com/jgorset/facepy)?
该库也使用了“请求”,但我确信它们解决了这个问题(假设您想要登录,因为您需要一个访问令牌来完成OpenGraph的工作)。self.cookie=,cookielib.CookieJar()
您没有在第二段代码中激活python cookie。我读了您的问题,认为您想在登录后获取信息。下面是我显示HTML内容的代码,它能解决您的问题吗
#!/usr/bin/python
import urllib, urllib2, cookielib
username = 'yourusername'
password = 'yourpassword'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('https://login.facebook.com/login.php?login_attempt=1', login_data)
resp = opener.open('http://www.facebook.com/')
print resp.read()
我在中国经常自动登录微信。代码如下:
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support import ui
from selenium.webdriver.common.keys import Keys
def page_is_loaded(driver):
return driver.find_element_by_tag_name("body") != None
driver = webdriver.Firefox() # open firefox browser
driver.get('https://mp.weixin.qq.com/') # go to url
wait = ui.WebDriverWait(driver, 10)
wait.until(page_is_loaded)
wechat_account = driver.find_element_by_id("account") # here you should find the facebook login account id in webpage sourcecode and change the string "account"
wechat_account.send_keys("user@email.com") # input your email address or your wechat account
your_password = driver.find_element_by_id("pwd")
your_password.send_keys("balabalabala") # your password instead of balabalabala
your_password.send_keys(Keys.RETURN)
print "Mission Completed! Write your new article.-->"
希望对你有所帮助。我建议你使用硒
from selenium import webdriver ##Imports the selenium web driver
driver = webdriver.Firefox() ##Create a Firefox Webdriver
driver.get("https://www.facebook.com/") ##Tells the driver to go to facebook.com
driver.find_element_by_css_selector("#email").send_keys("insert username here")
driver.find_element_by_css_selector("#pass").send_keys("insert password here")
driver.find_element_by_css_selector("#u_0_q").click()
要获得更深入的指导,我建议您看一看我可能误解了您的意思,但也许您只需要在浏览器中启用cookie?我使用python而不是任何浏览器