Skip to main content
Glama
muhenan

Xiaohongshu MCP Server

by muhenan
login.py3.18 kB
"""小红书登录命令行工具""" import argparse import asyncio import sys from loguru import logger from .browser.driver import BrowserManager from .xiaohongshu.login import XiaohongshuLogin async def main_async(): """异步主函数""" parser = argparse.ArgumentParser(description="小红书登录工具") parser.add_argument( "--chrome-path", type=str, help="Chrome浏览器可执行文件路径" ) parser.add_argument( "--headless", action="store_true", help="使用无头模式(登录时建议关闭此选项)" ) args = parser.parse_args() # 配置日志 logger.configure( handlers=[ { "sink": sys.stderr, "format": "<green>{time:YYYY-MM-DD HH:mm:ss}</green> | " "<level>{level: <8}</level> | " "<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - " "<level>{message}</level>", "level": "INFO" } ] ) # 登录时强制使用有界面模式,便于用户扫码 headless = False if not args.headless else args.headless if headless: logger.warning("登录过程建议使用有界面模式,将自动切换到有界面模式") headless = False # 创建浏览器管理器 browser_manager = BrowserManager( headless=headless, chrome_path=args.chrome_path ) try: async with browser_manager.get_page() as page: # 创建登录实例 login_handler = XiaohongshuLogin(page) # 检查当前登录状态 is_logged_in = await login_handler.check_login_status() logger.info(f"当前登录状态: {'已登录' if is_logged_in else '未登录'}") if is_logged_in: logger.success("✅ 已经处于登录状态,无需重新登录") return # 开始登录流程 logger.info("开始登录流程...") success = await login_handler.login() if success: # 再次确认登录状态 final_status = await login_handler.check_login_status() if final_status: # 手动保存cookies await browser_manager.save_current_cookies(page) logger.success("✅ 登录成功!Cookies已保存,浏览器即将关闭...") # 等待2秒让用户看到成功信息,然后自动关闭 await asyncio.sleep(2) else: logger.error("❌ 登录流程完成但仍未检测到登录状态") sys.exit(1) else: logger.error("❌ 登录失败") sys.exit(1) except KeyboardInterrupt: logger.info("用户取消登录") sys.exit(0) except Exception as e: logger.error(f"登录过程中发生错误: {e}") sys.exit(1) def main(): """同步主函数入口""" asyncio.run(main_async()) if __name__ == "__main__": main()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/muhenan/xiaohongshu-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server