首页 > 解决方案 > 如何使用 Python 请求登录网站

问题描述

我正在尝试登录这个特定的网站:https ://cvmweb.cvm.gov.br/SWB/default.asp?sg_sistema=fundosreg 。但为了做到这一点,我需要在第一个字段中指定 CNPJ(例如:42133922000117)。之后,我需要写验证码图像编号(就像照片Step - 1一样)。

Onde 写完这些数字后,我需要继续浏览该网站去其他链接 - 需要使用“请求”python 库来做到这一点。但是我还不能达到这一步,因为在我的请求之后,它一直返回我在第一页上,就像我没有通过指定的数字 (CNPJ) 和图像编号验证码一样。

我检查了标题,以便我可以执行相同的请求(POST 和 GET)以通过第一页。

已经尝试过:

import requests



r = requests.Session()            

header = {
    "Host": "cvmweb.cvm.gov.br",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate, br",
    "Content-Type":"application/x-www-form-urlencoded",
    "Referer":"https://cvmweb.cvm.gov.br/SWB//Sistemas/SCW/CPublica/CConsolFdo/FormBuscaParticFdo.aspx",
    "Origin":"https://cvmweb.cvm.gov.br",
    "Connection": "keep-alive",
    "Cookie": "_ga=GA1.3.1171259674.1623987457; ASP.NET_SessionId=0ra0n032veoxu0n2ldjz5fux; CVMWebCookie=SessionKey=%7BBD9B2C98%2D0DCD%2D4908%2D94E8%2D874C25C0B1F0%7D; _gid=GA1.3.1633343057.1626113124; ASPSESSIONIDQUTQACTT=KOBKLHMBMNPNENBAEMLFGPEJ; _gat=1",
    "Upgrade-Insecure-Requests": "1"
}

r.post(url='https://cvmweb.cvm.gov.br/SWB//Sistemas/SCW/CPublica/CConsolFdo/FormBuscaParticFdo.aspx',headers=header)

header_get = {
    "Host": "cvmweb.cvm.gov.br",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate, br",
    "Referer":"https://cvmweb.cvm.gov.br/SWB//Sistemas/SCW/CPublica/CConsolFdo/FormBuscaParticFdo.aspx",
    "Origin":"https://cvmweb.cvm.gov.br",
    "Connection": "keep-alive",
    "Cookie": "_ga=GA1.3.1171259674.1623987457; ASP.NET_SessionId=0ra0n032veoxu0n2ldjz5fux; CVMWebCookie=SessionKey=%7BBD9B2C98%2D0DCD%2D4908%2D94E8%2D874C25C0B1F0%7D; _gid=GA1.3.1633343057.1626113124; ASPSESSIONIDQUTQACTT=KOBKLHMBMNPNENBAEMLFGPEJ; _gat=1",
    "Upgrade-Insecure-Requests": "1"
}


cvm = r.get(url='https://cvmweb.cvm.gov.br/SWB/Sistemas/SCW/CPublica/CConsolFdo/ResultBuscaParticFdo.aspx?CNPJNome=42133922000117&TpPartic=0&Adm=false&numRandom=225192&SemFrame=',headers=header_get)

我不知道为什么,它似乎无论如何都不起作用,因为当我看到给我带来的结果时,就像我没有发布所需的第一个字段一样。

我究竟做错了什么?

标签: pythonauthenticationweb-scrapingpython-requestscaptcha

解决方案


推荐阅读