如何使用python/beautifulsoup将登录提交到degiro.nl?

2024-05-08 02:14:51 发布

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

我相信大家,, 不幸的是,我知道这是一个反复出现的问题,但在我的案例中,在线找到的解决方案都不起作用,我对bs4的了解也有限。 我想从交易账户中提取一些日常数据

该站点为degiro.nl,登录页面为https://trader.degiro.nl/login/

我检查了页面,根据所附的图片,似乎没有任何csrf标记,image因此我也尝试了一种简单的方法,如

from bs4 import BeautifulSoup
import requests

session = requests.Session()

payload = {'_username':'user', 
          '_password':'pwd'
         }

s = session.post("https://trader.degiro.nl/login", data=payload)

s = session.get('https://trader.degiro.nl/trader4/#/markets')

soup = BeautifulSoup(s.text, 'html.parser')
print(soup)

但是我得到的所有响应都是登录页面,即使响应是200

没有令牌的简单方法正确吗?我完全错过了什么吗

谢谢大家


Tags: 方法httpsimportsessionnllogin页面requests
1条回答
网友
1楼 · 发布于 2024-05-08 02:14:51

要向经过身份验证的用户发送requests,您可以在tuple中将用户名和密码传递给get():

示例

import requests
from requests.exceptions import HTTPError

url = 'https://trader.degiro.nl/login/secure/login'

with requests.session() as session:
    session.auth = ('user', 'pwd')
    try:
        login_page = session.get(url=url)
        login_page.raise_for_status()  # If successful, no Exception
    except HTTPError as e:
        print(f'HTTP error occurred: {e}')
    else:
        print('Success!')

如果出现错误,您将得到

HTTP error occurred: 500 Server Error: Internal Server Error for url: https://trader.degiro.nl/login/secure/login

相关问题 更多 >