使用请求登录站点时出现问题

2024-04-29 19:32:41 发布

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

我正试图登录一个有请求的网站。 这个网站来自巴西中央银行

我的问题是,登录框已经不同于我找到的教程,直到现在

我可以选择使用“Usu”登录,而不仅仅是一个框ário SISBACEN“框或”CPF“框(最后一个,CPF,是我可以访问的)

我怎样才能做一个代码来登录这个网站并获取数据

我试过这个,但没有成功。它返回了一个错误,好像我忘了把Usu的四个信息都给你ário SISBACEN box,但我尝试通过CPF box登录:

    #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版 马科斯高地

My post requests when I log manually - I deleted log and password from the image


Tags: thenameboxvalue网站pageselectone