fix: 完善Bilibili和抖音平台SQLite SQL语句适配

- 更新 store/bilibili/bilibili_store_sql.py 文件,优化Bilibili平台SQLite数据库SQL语句和查询逻辑
- 更新 store/douyin/douyin_store_sql.py 文件,修复抖音平台SQLite数据存储的SQL语句兼容性问题
This commit is contained in:
买定不离手
2025-07-14 03:51:19 +08:00
parent 1298022410
commit 3365095c62
2 changed files with 30 additions and 28 deletions

View File

@@ -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

View File

@@ -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