This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-skills/skills/obsidian-kb/verify_cookie_config.py
T
OpenClaw Agent e0a2b323d9 Update obsidian-kb skill and add find-skills
- obsidian-kb: Add OCR processors (easyocr, tesseract)
- obsidian-kb: Fix subtitle detection with test files
- obsidian-kb: Add cookie verification script
- Add find-skills skill for discovering capabilities
- Add video processing scripts
- Update clawhub lock file
2026-02-09 11:53:42 +08:00

131 lines
4.1 KiB
Python

#!/usr/bin/env python3
"""
验证知乎 Cookie 配置
"""
import json
import os
import sys
# 添加 src 目录到 Python 路径
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
from sources.zhihu_drission_extractor import ZhihuDrissionExtractor
def verify_cookie_config():
"""验证 Cookie 配置"""
print("=" * 60)
print("知乎 Cookie 配置验证")
print("=" * 60)
print()
# 1. 检查 Cookie 文件路径
cookie_file = os.path.expanduser('~/.obsidian-kb/zhihu_cookies.json')
print(f"1. Cookie 文件路径")
print(f" {cookie_file}")
if os.path.exists(cookie_file):
print(f" ✅ 文件存在")
else:
print(f" ❌ 文件不存在")
print(f" 请上传 Cookie 文件到此路径")
print()
return False
print()
# 2. 检查 Cookie 文件格式
print(f"2. Cookie 文件格式")
try:
with open(cookie_file, 'r', encoding='utf-8') as f:
cookies = json.load(f)
print(f" ✅ JSON 格式正确")
print(f" Cookie 数量: {len(cookies)}")
except json.JSONDecodeError as e:
print(f" ❌ JSON 格式错误: {e}")
return False
except Exception as e:
print(f" ❌ 读取失败: {e}")
return False
print()
# 3. 检查关键 Cookie
print(f"3. 关键 Cookie 检查")
cookie_names = [c['name'] for c in cookies]
required_cookies = ['z_c0', 'd_c0']
for cookie_name in required_cookies:
if cookie_name in cookie_names:
cookie = next(c for c in cookies if c['name'] == cookie_name)
value_preview = cookie['value'][:10] + '...' if len(cookie['value']) > 10 else cookie['value']
print(f" ✅ {cookie_name}: {value_preview}")
else:
print(f" ⚠️ {cookie_name}: 未找到(可能影响登录状态)")
print()
# 4. 检查配置文件
print(f"4. 配置文件检查")
config_file = os.path.join(os.path.dirname(__file__), 'config.yaml')
if os.path.exists(config_file):
print(f" ✅ config.yaml 存在")
with open(config_file, 'r') as f:
content = f.read()
if 'zhihu_cookies.json' in content:
print(f" ✅ Cookie 路径已配置")
else:
print(f" ⚠️ Cookie 路径未找到(可能是使用了其他配置)")
else:
print(f" ❌ config.yaml 不存在")
print()
# 5. 测试提取器初始化
print(f"5. 提取器初始化测试")
try:
# 加载配置文件并传递给提取器
import yaml
with open(config_file, 'r', encoding='utf-8') as f:
full_config = yaml.safe_load(f)
print(f" 配置文件: {config_file}")
print(f" zhihu 配置: {full_config.get('zhihu', {})}")
# 提取 zhihu 配置并传递
zhihu_config = full_config.get('zhihu', {})
extractor = ZhihuDrissionExtractor(config=zhihu_config)
print(f" ✅ ZhihuDrissionExtractor 初始化成功")
# 测试 Cookie 加载
loaded_cookies = extractor._load_cookies()
print(f" ✅ 成功加载 {len(loaded_cookies)} 个 Cookie")
if len(loaded_cookies) == 0:
print(f" ⚠️ 未加载到 Cookie,将使用未登录状态访问")
print(f" 这可能导致提取失败或内容不完整")
except Exception as e:
print(f" ❌ 初始化失败: {e}")
return False
print()
print("=" * 60)
print("✅ 配置验证完成!")
print("=" * 60)
print()
# 6. 下一步建议
print("下一步:")
print("1. 如果 Cookie 文件格式正确,可以直接开始提取")
print("2. 建议先测试一个简单的知乎回答链接")
print()
print("示例命令:")
print(" python3 -c \"from src.sources.zhihu_drission_extractor import ZhihuDrissionExtractor; print(ZhihuDrissionExtractor().extract('https://www.zhihu.com/question/266309957/answer/2003427891925509507')['title'])\"")
return True
if __name__ == '__main__':
success = verify_cookie_config()
sys.exit(0 if success else 1)