Python Mechanize登录Facebook cookie错误

Jes*_*aal 7 python cookies facebook mechanize

几天后我无法使用我的脚本登录facebook.Facebook登录页面给出错误:

需要使用Cookie,您的浏览器不会启用Cookie.

我不知道为什么会出现这个错误,因为我在我的脚本中接受了cookie.我希望有人可以帮助我,我已经用Google搜索并尝试了不同的Cookie方法.

import cookielib
import urllib2
import mechanize

br = mechanize.Browser()
cookiejar = cookielib.LWPCookieJar()
br.set_cookiejar( cookiejar )
br.set_handle_equiv( True )
br.set_handle_gzip( True )
br.set_handle_redirect( True ) 
br.set_handle_referer( True )
br.set_handle_robots( False )

br.set_handle_refresh( mechanize._http.HTTPRefreshProcessor(), max_time = 1)
br.addheaders = [ ( 'User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1' ) ]

user = "EMAIL"
pass = "PASSWORD"
url = "https://www.facebook.com/login.php"

#Open URL and submit
br.open(url)
br.select_form(nr=0)
br.form['email'] = user
br.form['pass'] = pass
response = br.submit()

#Opens website and write source to html-output.txt
fileobj = open("HTML-OUTPUT.txt","wb")
fileobj.write(response.read())
fileobj.close()
Run Code Online (Sandbox Code Playgroud)

Ren*_*ato 4

假设您如何登录并不重要(因为您准备使用 Mozilla cookie 来登录),您可以使用移动网站来完成此操作。

首先,您使用移动版本登录 Facebook(不需要 cookie),然后将浏览器重定向到您想要保存的页面。

对您的代码进行细微更改:

user = "EMAIL"
passwd = "PASSWORD"
url = "https://m.facebook.com/login.php"

#Open URL and submit
br.open(url)
br.select_form(nr=0)
br.form['email'] = user
br.form['pass'] = passwd
br.submit()

response = br.open("https://www.facebook.com/")

#Opens website and write source to html-output.txt
fileobj = open("HTML-OUTPUT.txt","wb")
fileobj.write(response.read())
fileobj.close()
Run Code Online (Sandbox Code Playgroud)