如何使用Python和Requests登录网站帐户

2021-01-18 22:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用Python3和Requests模块登录2个网站帐户。

第一个网站是:https://www.amundi-ee.com/psf/#login,我需要在这个页面上抓取信息:https://www.amundi-ee.com/psf/#avoirs
第二个网站是:https://zone.mfgl.com/pensions/burohappold/index.asp(在登录后,有一个重定向到https://zone.mfgl.com/pensions/burohappold/login2.asp的另一个额外的随机安全问题,在4/5选择,如出生地,或第一个宠物名)和之后,我需要抓取这个页面上的信息:https://zone.mfgl.com/pensions/burohappold/statement-page.asp

其思想是检索个人帐户信息,以便在另一个脚本中进行处理。 我知道如何使用请求(在一个基本的层面上),但我正在为这两个特定的网站而挣扎(我相信是因为第一个网站的密码必须通过点击输入,第二个网站的重定向)。在

import requests
import logging

logging.basicConfig(level=logging.DEBUG)

URL1 = 'https://www.amundi-ee.com/psf/#login'
URL2 = 'https://www.amundi-ee.com/psf/#'
URL3 = 'https://zone.mfgl.com/pensions/burohappold/index.asp'
URL4 = 'https://zone.mfgl.com/pensions/burohappold/login2.asp'
URL5 = 'https://zone.mfgl.com/pensions/burohappold/statement-page.asp'

payload1 = {
    'username' : '000000',
    'password' : '000000'
}
payload2 = {
    'username' : '000000',
    'password' : '000000'
}
sub_payload1 = {
    'password' : 'aaaaaa'
}
sub_payload2 = {
    'password' : 'bbbbbb'
}
sub_payload3 = {
    'password' : 'cccccc'
}

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}


with requests.Session() as c:
    c.post(URL1, headers=headers, data=payload1)
    r = c.get(URL2, headers=headers)
    print(r.text)

with requests.Session() as d:
    d.post(URL3, headers=headers, data=payload2)
    #How to manage the redirection here to URL4?
    #How to test which extra security question is supplied and submit corresponding sub_payload?
    s = d.get(URL5, headers=headers)
    print(s.text)

对于第二个网站,我真的不知道如何处理重定向和问题测试。。。在

有效负载'username'/'password'必须与这些网站表单中的特定名称匹配吗?在

谢谢你的帮助和指导(我是初学者)。在