第一次提交。

其中爬取是tophub_scraper.py
数据入库是 tophub_add_data_to_db.py
查看当前数据内容是 db_viewer.py
This commit is contained in:
2025-11-09 17:20:44 +08:00
commit 25da264413
29 changed files with 28508 additions and 0 deletions

55
fix_db_viewer.py Normal file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env python3
"""
修复db_viewer.py文件中的方法位置问题
将increase_score和decrease_score方法从文件末尾移动到DatabaseViewer类内部
"""
import re
def fix_db_viewer():
"""修复db_viewer.py文件"""
try:
# 读取原始文件
with open('db_viewer.py', 'r', encoding='utf-8') as f:
content = f.read()
# 找到increase_score和decrease_score方法
increase_score_match = re.search(r'\n\s*def increase_score\(self\):.*?(?=\n\s*def|\n\nclass|\n\ndef|\n\nif __name__|\Z)', content, re.DOTALL)
decrease_score_match = re.search(r'\n\s*def decrease_score\(self\):.*?(?=\n\s*def|\n\nclass|\n\ndef|\n\nif __name__|\Z)', content, re.DOTALL)
if not increase_score_match or not decrease_score_match:
print("未找到increase_score或decrease_score方法")
return False
# 提取方法内容
increase_score_method = increase_score_match.group(0)
decrease_score_method = decrease_score_match.group(0)
# 从文件末尾移除这两个方法
content = re.sub(r'\n\s*def increase_score\(self\):.*?(?=\n\s*def|\n\nclass|\n\ndef|\n\nif __name__|\Z)', '', content, flags=re.DOTALL)
content = re.sub(r'\n\s*def decrease_score\(self\):.*?(?=\n\s*def|\n\nclass|\n\ndef|\n\nif __name__|\Z)', '', content, flags=re.DOTALL)
# 找到mark_as_not_interested方法的结束位置在其后插入新方法
mark_as_not_interested_match = re.search(r'(\n\s*def mark_as_not_interested\(self\):.*?(?=\n\s*def|\n\nclass|\n\ndef|\n\nif __name__|\Z))', content, re.DOTALL)
if not mark_as_not_interested_match:
print("未找到mark_as_not_interested方法")
return False
# 在mark_as_not_interested方法后插入新方法
insertion_point = mark_as_not_interested_match.end(1)
new_content = content[:insertion_point] + increase_score_method + decrease_score_method + content[insertion_point:]
# 写入修复后的文件
with open('db_viewer.py', 'w', encoding='utf-8') as f:
f.write(new_content)
print("成功修复db_viewer.py文件")
return True
except Exception as e:
print(f"修复文件时出错: {str(e)}")
return False
if __name__ == "__main__":
fix_db_viewer()