diff --git a/yunke-server/scripts/cleanup_dividers.py b/yunke-server/scripts/cleanup_dividers.py new file mode 100644 index 0000000..324c6ae --- /dev/null +++ b/yunke-server/scripts/cleanup_dividers.py @@ -0,0 +1,7 @@ +import sqlite3 +con = sqlite3.connect('smoke.db') +c = con.cursor() +deleted = c.execute('DELETE FROM message WHERE type_raw = -2').rowcount +con.commit() +print(f'Deleted {deleted} divider messages') +print(f"Remaining wechat: {c.execute(chr(34)+'SELECT COUNT(*) FROM message WHERE channel=' + chr(39) + 'wechat' + chr(39) + chr(34)).fetchone()[0]}") diff --git a/yunke-server/scripts/scrape_via_page.py b/yunke-server/scripts/scrape_via_page.py index 0182712..5263d8b 100644 --- a/yunke-server/scripts/scrape_via_page.py +++ b/yunke-server/scripts/scrape_via_page.py @@ -453,6 +453,9 @@ async def scrape_messages(cookie_str: str, max_conversations: int = 100): for row in rows: if not isinstance(row, dict): continue + # 跳过 type=-2 日期分隔线(非真实消息,仅显示日期) + if str(row.get("type")) == "-2": + continue # Normalize to Message shape ts_raw = row.get("createTime") or row.get("timestamp") try: