如何使用Python&;请求
我正在尝试使用Python 3和请求模块登录到两个网站帐户。如何使用Python&;请求,python,authentication,redirect,python-requests,Python,Authentication,Redirect,Python Requests,我正在尝试使用Python 3和请求模块登录到两个网站帐户。 第一个网站是:,我需要在: 第二个网站是:(登录后,有一个重定向到的额外的随机安全问题在4/5的选择,如出生地,或第一个宠物名)和之后,我需要在这个页面上抓取信息: 其思想是检索个人帐户信息,并在另一个脚本中进行处理。 我知道如何使用请求(在基本层面上),但我正在与这两个特定的网站进行斗争(我相信这是因为第一个网站必须通过点击输入密码,第二个网站需要重定向) 对于第二个网站,我真的不知道如何处理重定向和问题测试 有效载荷“用户名”/“
第一个网站是:,我需要在:
第二个网站是:(登录后,有一个重定向到的额外的随机安全问题在4/5的选择,如出生地,或第一个宠物名)和之后,我需要在这个页面上抓取信息: 其思想是检索个人帐户信息,并在另一个脚本中进行处理。 我知道如何使用请求(在基本层面上),但我正在与这两个特定的网站进行斗争(我相信这是因为第一个网站必须通过点击输入密码,第二个网站需要重定向) 对于第二个网站,我真的不知道如何处理重定向和问题测试 有效载荷“用户名”/“密码”是否必须与这些网站表单中的特定名称匹配
感谢您的帮助或指导(我是初学者)。因此,我设法让它在第二个网站上运行,如果有人感兴趣,请参见下面的代码。有一个隐藏的表单字段。 我将为第一个网站打开一个新主题
import requests, time
from lxml import html
LOGIN = 'https://zone.mfgl.com/pensions/burohappold/index.asp'
LOGIN2 = 'https://zone.mfgl.com/pensions/burohappold/login2.asp'
PROTECTED_PAGE = 'https://zone.mfgl.com/pensions/burohappold/statement-page.asp'
payload = {
'username': 'username',
'password': 'password',
'action': 'login'
}
s_payload1 = {
'answer': 'answer',
'correctanswer': 'answer',
'action': 'submit'
}
s_payload2 = {
'answer': 'answer',
'correctanswer': 'answer',
'action': 'submit'
}
s_payload3 = {
'answer': 'answer',
'correctanswer': 'answer',
'action': 'submit'
}
with requests.session() as s:
s.post(LOGIN, data=payload)
time.sleep(2)
r = s.get(LOGIN2)
#2nd login question test to submit appropriate sub_payload
if 'XXXX' in r.text:
s.post(LOGIN2, data=s_payload1)
if 'YYYY' in r.text:
s.post(LOGIN2, data=s_payload2)
if 'ZZZZ' in r.text:
s.post(LOGIN2, data=s_payload3)
f = s.get(PROTECTED_PAGE)
tree = html.fromstring(f.content)
a = tree.xpath('//td/text()')
index = a.index("Total")
Funds = a[32]
print(Funds)
了解您可以获得重定向url
req=d.post(URL3,headers=headers,data=payload2)
req.url
。
import requests, time
from lxml import html
LOGIN = 'https://zone.mfgl.com/pensions/burohappold/index.asp'
LOGIN2 = 'https://zone.mfgl.com/pensions/burohappold/login2.asp'
PROTECTED_PAGE = 'https://zone.mfgl.com/pensions/burohappold/statement-page.asp'
payload = {
'username': 'username',
'password': 'password',
'action': 'login'
}
s_payload1 = {
'answer': 'answer',
'correctanswer': 'answer',
'action': 'submit'
}
s_payload2 = {
'answer': 'answer',
'correctanswer': 'answer',
'action': 'submit'
}
s_payload3 = {
'answer': 'answer',
'correctanswer': 'answer',
'action': 'submit'
}
with requests.session() as s:
s.post(LOGIN, data=payload)
time.sleep(2)
r = s.get(LOGIN2)
#2nd login question test to submit appropriate sub_payload
if 'XXXX' in r.text:
s.post(LOGIN2, data=s_payload1)
if 'YYYY' in r.text:
s.post(LOGIN2, data=s_payload2)
if 'ZZZZ' in r.text:
s.post(LOGIN2, data=s_payload3)
f = s.get(PROTECTED_PAGE)
tree = html.fromstring(f.content)
a = tree.xpath('//td/text()')
index = a.index("Total")
Funds = a[32]
print(Funds)