我正在尝试登录请求的网站。 该网站来自巴西中央银行。
我的问题是,登录框与我到目前为止找到的教程有所不同。
我可以选择使用“UsuárioSISBACEN”框或“ CPF”框登录(而不是仅一个框)(最后一个CPF是我可以访问的框)。
如何编写代码以登录该网站并获取数据?
我尝试过这个,但是没有成功。它返回错误,就像我忘记从UsuárioSISBACEN框中提供所有四个信息一样,但是我尝试通过CPF框登录:
#the page I want to try the login
logurl = "https://bccorreio.bcb.gov.br/bccorreio/Autenticacao/Logon.aspx?ReturnUrl=%2fbccorreio%2f"
#the page I want to requests information from.
posturl = "https://bccorreio.bcb.gov.br/bccorreio/Consultas/Normativos/PesquisaNormativos.aspx?tipoConsulta=C"
with requests.session() as s:
s.headers = {"User-Agent":"Mozilla/5.0"}
res = s.get(logurl)
soup = bs(res.text, "lxml")
values = {
"__LASTFOCUS": soup.select_one("[name='__LASTFOCUS']")['value'],
"__EVENTTARGET": soup.select_one("[name='__EVENTTARGET']")['value'],
"__EVENTARGUMENT": soup.select_one("[name='__EVENTARGUMENT']")['value'],
"__VIEWSTATE": soup.select_one("[name='__VIEWSTATE']")['value'],
"__VIEWSTATEGENERATOR": soup.select_one("[name='__VIEWSTATEGENERATOR']")['value'],
"lgLogin$rbTipoLogin": "1",
"lgLogin$UserName": xxxxxx,
"lgLogin$Password": xxxxx,
"lgLogin$Login": "Entrar"
}
r = s.post(posturl, data=values)
print(r.text)
有人可以向我解释我在做什么错吗?我认为此“ CPF”框有些问题,我认为我没有正确选择。
希望即使您没有访问此网站也能为我提供帮助。
OBS:Python 3.6 macOS高Sierra