我正在尝试使用Python脚本登录我的银行帐户,以进一步取消我所做的交易。我读了很多这方面的东西,似乎并不复杂,但我没有成功登录。我认为问题是,当我发布表单时,我错过了一个由??我不知道怎么找回它。在
下面是我的示例代码:
import requests
s = requests.Session()
s.headers.update({
'User-agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36",
})
url_identification = 'https://accweb.mouv.desjardins.com/identifiantunique/identification'
url_identification_process = 'https://accweb.mouv.desjardins.com/identifiantunique/identification/identificationProcess'
login_data = {
'fnMemoriserUtilisateurActive': '0',
'InfoPosteRaa': {},
'OtherIdRaa': {},
'nbrCartesMemorisees':1,
'codeUtilisateur':xxxxxxxxxx,
'description':{},
'_tk':{},
'infoPosteClient':{}
}
r = s.get(url_identification)
r = s.post(url_identification_process, data=login_data)
print r.text
我的帖子将我重定向到url_identification
网页,因为我没有合适的令牌。你知道我怎么找回它吗?我不知道它是怎么产生的,而且它是一个银行网站,恐怕不可能:
首先回答你的问题:
_tk
的值可以在得到url_identification
的响应中找到,例如值
infoPosteClient
由JavaScript
函数add_deviceprint
计算。您可能需要尝试模拟特定的行为,或者只是给它一个常量值。{{{cd7}中的其他参数可以是空的。
我没有那家银行的账户可供测试,因此我恐怕无法查询进一步的请求。
一条建议:我确实认为
Python
能够执行这个任务,事实上我个人也做了很多类似的事情(使用Python
模拟XHR或其他复杂的事情)。但我想使用基于JavaScript
的解决方案(例如PhantomJS
)可能更适合您的具体情况。在相关问题 更多 >
编程相关推荐