0

我正在尝试制作一个登录到https://adelbert.magister.net/的网络抓取机器人,这样我就可以在登录后抓取网站中的数据。

我的代码:

import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser(
    soup_config={'features': 'lxml'},
    raise_on_404=True,
    user_agent='bot',
)

browser.open("https://adelbert.magister.net/")
print(browser.get_url())

如果您在普通浏览器中访问该页面,它会重定向到如下所示的 URL:https://accounts.magister.net/account/login?sessionId=6aa0c7f9387a4b4b8acea413446d918c&returnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3DM6-adelbert。 magister.net%26redirect_uri%3Dhttps%253A%252F%252Fadelbert.magister.net%252Foidc%252Fredirect_callback.html%26response_type%3Did_token%2520token%26scope%3Dopenid%2520profile%2520magister.ecs.legacy%2520magister.mdv.broker.read% 2520magister.dnn.roles.read%26state%3D505f79f6dc244b8ba45daaa215709ac0%26nonce%3D49d332e1fb2e499fb2a17bcd37d756a4%26acr_values%3Dtenant%253Aadelbert.magister.net#!/gebruikersnaam

我怎样才能在好的页面上获得它,以便我可以使用mechanicalsoup使程序登录?

这与此处发布的问题相同,但没有人回答该帖子。请帮我。

4

1 回答 1

1

重定向是使用 JavaScript 完成的。MechanicalSoup 对 JavaScript 没有帮助(请参阅 MechanicalSoup 的常见问题解答)。

于 2018-06-05T15:42:53.620 回答