Browse Source

update: 支持账号登录后存储cookie&自动登录

guantao 3 weeks ago
parent
commit
e677a18b09
2 changed files with 0 additions and 63 deletions
  1. 0 30
      export.py
  2. 0 33
      login.py

+ 0 - 30
export.py

@@ -1,30 +0,0 @@
-import asyncio
-import json
-from playwright.async_api import async_playwright
-
-async def export_cookies():
-    async with async_playwright() as p:
-        # 启动浏览器,headless=False 方便手动扫码
-        browser = await p.chromium.launch(headless=False)
-        context = await browser.new_context()
-        page = await context.new_page()
-
-        await page.goto("https://www.bilibili.com")
-        
-        print("请在浏览器中完成登录(扫码或账号密码)...")
-        
-        # 循环检查是否登录成功(根据头像或特定元素判断)
-        # 这里我们等待用户手动在控制台回车确认登录已完成
-        input("完成登录后,请按回车键继续导出 Cookie...")
-
-        # 获取所有 Cookie
-        cookies = await context.cookies()
-        
-        with open("bilibili.json", "w", encoding="utf-8") as f:
-            json.dump(cookies, f, ensure_ascii=False, indent=4)
-            
-        print("Cookie 已成功保存至 bilibili.json")
-        await browser.close()
-
-if __name__ == "__main__":
-    asyncio.run(export_cookies())

+ 0 - 33
login.py

@@ -1,33 +0,0 @@
-import asyncio
-import json
-from playwright.async_api import async_playwright
-
-async def login_with_cookies():
-    async with async_playwright() as p:
-        browser = await p.chromium.launch(headless=False) # 设为 False 以便观察效果
-        context = await browser.new_context()
-        
-        # 加载并注入 Cookie
-        try:
-            with open("bilibili.json", "r", encoding="utf-8") as f:
-                cookies = json.load(f)
-            await context.add_cookies(cookies)
-            print("Cookie 加载成功")
-        except FileNotFoundError:
-            print("找不到 Cookie 文件,请先运行导出脚本")
-            return
-
-        page = await context.new_page()
-        # 访问 B 站
-        await page.goto("https://www.bilibili.com")
-        
-        # 验证是否显示了用户名/头像(证明登录成功)
-        await page.wait_for_timeout(5000)  # 停留 5 秒观察效果
-        
-        print("当前页面标题:", await page.title())
-        # 这里可以继续你的自动化操作...
-        
-        await browser.close()
-
-if __name__ == "__main__":
-    asyncio.run(login_with_cookies())