From 3365095c62de4498a26c6c8d753676d002fe4014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:51:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84Bilibili=E5=92=8C?= =?UTF-8?q?=E6=8A=96=E9=9F=B3=E5=B9=B3=E5=8F=B0SQLite=20SQL=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 store/bilibili/bilibili_store_sql.py 文件,优化Bilibili平台SQLite数据库SQL语句和查询逻辑 - 更新 store/douyin/douyin_store_sql.py 文件,修复抖音平台SQLite数据存储的SQL语句兼容性问题 --- store/bilibili/bilibili_store_sql.py | 35 ++++++++++++++-------------- store/douyin/douyin_store_sql.py | 23 +++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/store/bilibili/bilibili_store_sql.py b/store/bilibili/bilibili_store_sql.py index 02b146c..0b2654b 100644 --- a/store/bilibili/bilibili_store_sql.py +++ b/store/bilibili/bilibili_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_video where video_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_video", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_video", content_item, "video_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_video_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_video_comment", comment_item) return last_row_id @@ -108,7 +109,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_video_comment", comment_item, "comment_id", comment_id) return effect_row @@ -122,7 +123,7 @@ async def query_creator_by_creator_id(creator_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_up_info where user_id = '{creator_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -139,7 +140,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_up_info", creator_item) return last_row_id @@ -154,7 +155,7 @@ async def update_creator_by_creator_id(creator_id: str, creator_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_up_info", creator_item, "user_id", creator_id) return effect_row @@ -169,7 +170,7 @@ async def query_contact_by_up_and_fan(up_id: str, fan_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_contact_info where up_id = '{up_id}' and fan_id = '{fan_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -186,7 +187,7 @@ async def add_new_contact(contact_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_contact_info", contact_item) return last_row_id @@ -201,7 +202,7 @@ async def update_contact_by_id(id: str, contact_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_contact_info", contact_item, "id", id) return effect_row @@ -215,7 +216,7 @@ async def query_dynamic_by_dynamic_id(dynamic_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_up_dynamic where dynamic_id = '{dynamic_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -232,7 +233,7 @@ async def add_new_dynamic(dynamic_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_up_dynamic", dynamic_item) return last_row_id @@ -247,6 +248,6 @@ async def update_dynamic_by_dynamic_id(dynamic_id: str, dynamic_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_up_dynamic", dynamic_item, "dynamic_id", dynamic_id) return effect_row diff --git a/store/douyin/douyin_store_sql.py b/store/douyin/douyin_store_sql.py index 29c3c4f..eb54eb7 100644 --- a/store/douyin/douyin_store_sql.py +++ b/store/douyin/douyin_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from douyin_aweme where aweme_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("douyin_aweme", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("douyin_aweme", content_item, "aweme_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from douyin_aweme_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("douyin_aweme_comment", comment_item) return last_row_id @@ -108,7 +109,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("douyin_aweme_comment", comment_item, "comment_id", comment_id) return effect_row @@ -122,7 +123,7 @@ async def query_creator_by_user_id(user_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from dy_creator where user_id = '{user_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -139,7 +140,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("dy_creator", creator_item) return last_row_id @@ -154,6 +155,6 @@ async def update_creator_by_user_id(user_id: str, creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("dy_creator", creator_item, "user_id", user_id) return effect_row \ No newline at end of file