Python3,正在尝试登录facebook并获取soucecode
我正试图通过发送post请求登录Facebook,并从我的个人资料页面获取HTML源代码 我尝试了很多方法,但是我的脚本总是返回相同的登录页面 希望有人能给我一些提示/建议Python3,正在尝试登录facebook并获取soucecode,python,http,python-3.x,post,python-requests,Python,Http,Python 3.x,Post,Python Requests,我正试图通过发送post请求登录Facebook,并从我的个人资料页面获取HTML源代码 我尝试了很多方法,但是我的脚本总是返回相同的登录页面 希望有人能给我一些提示/建议 import http.cookiejar import urllib.parse import urllib.error from urllib.request import urlopen post_data = { 'email':'xxx', 'pass':'xxx', 'legacy_r
import http.cookiejar
import urllib.parse
import urllib.error
from urllib.request import urlopen
post_data = {
'email':'xxx',
'pass':'xxx',
'legacy_return':'1',
'trynum':'1',
'timezone':'240',
'lgndim':'xxx',
'lgnrnd':'xxx',
'lgnjs': 'xxx'
}
try:
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
login_data = urllib.parse.urlencode(post_data)
encode_data = login_data.encode('UTF-8')
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64)')]
opener.open('https://www.facebook.com/login.php?', encode_data)
resp = opener.open('https://www.facebook.com/login.php?')
print (resp.read().decode('utf-8'))
print (resp.geturl())
except urllib.error.HTTPError as err:
print(err.code)
快速查看Facebook登录显示,Facebook发布的变量比代码中的变量多。我知道FB一直在努力广泛打击刮削,我猜他们正在使用页面javascript和其他技术来阻止你做你想做的事情 我尝试使用Firefox的插件“”拦截对/login的POST调用,我复制了每个变量(包括您不使用的变量,如'lsd'和'qstamp'),但在Python中模拟请求仍然不起作用
最后,最简单的答案是使用Facebook API。Graph API文档是谢谢您的回答,但我认为一定有办法使用python库实现这一点。@JunYuZhou您实现了吗?