feat: 添加B站登录配置支持和视频笔记
- bilibili_extractor.py: 添加SESSDATA登录凭证支持 - 新增 bilibili_config.example 配置模板 - 更新 .gitignore: 排除虚拟环境和敏感配置文件 - 添加今日记忆 (2026-02-07.md) - 新增B站视频笔记: Qwen3-TTS上新、时代真变了、用了几天Clawdbot
This commit is contained in:
+35
-4
@@ -21,6 +21,7 @@ playwright install chromium
|
||||
import asyncio
|
||||
import json
|
||||
import re
|
||||
import importlib.util
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
@@ -32,8 +33,9 @@ from undetected_playwright import stealth_async
|
||||
class BilibiliExtractor:
|
||||
"""B站视频信息提取器"""
|
||||
|
||||
def __init__(self, headless=False):
|
||||
def __init__(self, headless=False, sessdata=None):
|
||||
self.headless = headless
|
||||
self.sessdata = sessdata # B站登录凭证
|
||||
self.playwright = None
|
||||
self.browser = None
|
||||
self.context = None
|
||||
@@ -67,6 +69,20 @@ class BilibiliExtractor:
|
||||
}
|
||||
)
|
||||
|
||||
# 如果提供了 SESSDATA,添加到 Cookie
|
||||
if self.sessdata:
|
||||
await self.context.add_cookies([
|
||||
{
|
||||
'name': 'SESSDATA',
|
||||
'value': self.sessdata,
|
||||
'domain': '.bilibili.com',
|
||||
'path': '/',
|
||||
'httpOnly': True,
|
||||
'secure': True,
|
||||
}
|
||||
])
|
||||
print("✓ 已加载登录凭证 (SESSDATA)")
|
||||
|
||||
# 应用stealth模式(反检测)
|
||||
await stealth_async(self.context)
|
||||
|
||||
@@ -522,12 +538,27 @@ class BilibiliExtractor:
|
||||
|
||||
async def main():
|
||||
"""主函数"""
|
||||
bvid = "BV11t64BJEDZ"
|
||||
output_file = "/home/admin/.openclaw/workspace/notes/时代真变了glm4.7+playwright-cli-AI自主进行自动化测试.md"
|
||||
bvid = "BV1MnFNz5EDL"
|
||||
output_file = "/home/admin/.openclaw/workspace/notes/用了几天_Clawdbot_我最担心的事开始发生了.md"
|
||||
|
||||
# 尝试加载登录配置
|
||||
sessdata = None
|
||||
try:
|
||||
import sys
|
||||
config_path = Path(__file__).parent / 'bilibili_config.py'
|
||||
if config_path.exists():
|
||||
spec = importlib.util.spec_from_file_location("bilibili_config", config_path)
|
||||
bilibili_config = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(bilibili_config)
|
||||
sessdata = getattr(bilibili_config, 'SESSDATA', None)
|
||||
if sessdata:
|
||||
print("✓ 已加载登录配置")
|
||||
except Exception as e:
|
||||
print(f"⚠️ 加载登录配置失败: {e}")
|
||||
|
||||
# 创建提取器(True=无头模式,False=显示浏览器窗口)
|
||||
# 无头模式更快,但如果遇到验证码可能无法处理
|
||||
extractor = BilibiliExtractor(headless=True)
|
||||
extractor = BilibiliExtractor(headless=True, sessdata=sessdata)
|
||||
|
||||
try:
|
||||
await extractor.init_browser()
|
||||
|
||||
Reference in New Issue
Block a user