为什么我不能使用请求模块登录网站

问题描述

因此,我需要登录到网站,因为我需要执行一项操作,要求先登录。 这是我的代码:

import requests from bs4 import BeautifulSoup

logdata = {'username': 'xxx','password': 'xxx'}
url = 'https://darkside-ro.com/?module=account&action=login&return_url='

with requests.Session() as s: 
    r = [s.post](https://s.post)(url,data=logdata)

html = r.text soup = BeautifulSoup(html,"html.parser") 
print(soup.title.get_text())

它给了我您未登录时的标题:(

解决方法

我不确定为什么我将其标记为重复,对不起。


好的,所以我创建了一个虚拟帐户并尝试登录-我注意到在提交表单时,以下数据将发送到https://darkside-ro.com/?module=account&action=login&return_url=

enter image description here

因此,要解决您的问题,您必须在server词典中加入logdata

import requests
from bs4 import BeautifulSoup

logdata = {
  'username': 'abc123456','password': 'abc123456','server': 'Darkside RO'
}

url = 'https://darkside-ro.com/?module=account&action=login&return_url='
with requests.Session() as s: 
    r = s.post(url,data=logdata)

html = r.text
soup = BeautifulSoup(html,'html.parser') 
print(soup.title.get_text())

运行上面的代码将打印

Darkside RO - The Rise of Skywalker

PS:再次执行此操作时,最好通过检查元素来检查表单中的隐藏输入。在上面的网站上,

<input type="hidden" name="server" value="Darkside RO">

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...