Python Requests实现Mangadex.cc登录失败问题排查求助
排查Mangadex登录爬虫的问题
我帮你梳理下代码里的几个关键问题,以及对应的修复方案:
1. 登录URL的转义字符错误
你代码里的登录URL包含&,这是HTML对&的转义字符,直接使用会导致请求参数解析错误。需要把&替换成&,正确的URL应该是:
url = "https://mangadex.cc/login/ajax/actions.ajax.php?function=login&nojs=1"
2. 缺少CSRF令牌验证
Mangadex的登录接口需要验证CSRF令牌,否则会直接拒绝请求。你需要先访问登录页面,从页面HTML中提取csrf_token,再把它加到登录请求的payload里。
3. 未设置模拟浏览器的请求头
很多网站会拦截没有合理请求头的爬虫请求,你需要添加User-Agent等头信息,让请求看起来更像正常的浏览器访问。
4. 未验证登录请求的结果
你当前的代码没有检查登录是否成功,建议解析登录接口的JSON响应,确认登录状态,避免后续用未登录的session去访问需要权限的页面。
修正后的完整代码
import requests from bs4 import BeautifulSoup def login(username: str, password: str): session = requests.Session() # 设置模拟浏览器的请求头 session.headers.update({ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" }) # 先访问登录页面获取CSRF令牌 login_page = session.get("https://mangadex.cc/login") soup = BeautifulSoup(login_page.text, "html.parser") csrf_token = soup.find("input", {"name": "csrf_token"})["value"] # 正确的登录URL login_url = "https://mangadex.cc/login/ajax/actions.ajax.php?function=login&nojs=1" payload = { "login_username": username, "login_password": password, "csrf_token": csrf_token, "remember_me": "1" # 可选,是否保持登录状态 } # 发送登录请求并解析响应 login_response = session.post(login_url, data=payload) login_result = login_response.json() if login_result.get("success"): print("登录成功!") return session else: print(f"登录失败:{login_result.get('error')}") return None def search(session, title): if not session: return "未登录,无法访问搜索页面" resp = session.get("https://mangadex.cc/search", params={"title": title}) # 检查响应状态码确认是否成功 if resp.status_code == 200: return resp.text else: return f"请求失败,状态码:{resp.status_code}" # 替换成你的账号信息 session = login("VALIDUSERNAME", "VALIDPASSWORD") if session: search_result = search(session, "foo") # 可在这里处理搜索结果,比如保存到文件或解析内容 print("搜索请求完成")
额外说明
- 我用了
BeautifulSoup来解析HTML获取CSRF令牌,你需要先安装它:pip install beautifulsoup4 - 注意遵守Mangadex的服务条款,爬虫行为不要违反网站规定,避免IP被封禁
- 如果后续仍有问题,可以检查session中的cookies是否正确携带,或者确认网站接口是否有更新
内容的提问来源于stack exchange,提问作者Finch Henderson
相关产品推荐
相关产品推荐

