diff --git a/models/__init__.py b/models/__init__.py index 084d966..ca256ce 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -17,7 +17,7 @@ db_config = { 'database': 'lm', 'user': 'lm', 'password': 'HhyAsGbrrbsJfpyy', - 'host': '192.168.1.79', + 'host': '192.168.1.87', 'port': 3306 } diff --git a/推特/db_init.py b/推特/db_init.py new file mode 100644 index 0000000..ef2c706 --- /dev/null +++ b/推特/db_init.py @@ -0,0 +1,47 @@ +from loguru import logger + +from bit_tools import get_browser_lists_Browser, get_group_lists +from models import db1 +from models.ips import Ips +from models.xstart import Xstart +from models.xtoken import XToken + + +def ensure_tables(): + db1.connect(reuse_if_open=True) + try: + db1.create_tables([XToken, Xstart, Ips], safe=True) + finally: + if not db1.is_closed(): + db1.close() + + +def sync_xstart_from_bitbrowser(group_name="推特", max_pages=10): + fz_datas = get_group_lists() + if group_name not in fz_datas: + logger.error(f"未找到分组:{group_name}") + return + + group_id = fz_datas[group_name] + created = 0 + scanned = 0 + + db1.connect(reuse_if_open=True) + try: + for page in range(max_pages): + browser_list = get_browser_lists_Browser(id=group_id, page=page) + if not browser_list: + break + + for browser in browser_list: + scanned += 1 + _, is_created = Xstart.get_or_create( + bit_id=browser.get("id"), + ) + if is_created: + created += 1 + finally: + if not db1.is_closed(): + db1.close() + + logger.info(f"已扫描 {scanned} 个浏览器配置,写入 Xstart {created} 条") diff --git a/推特/main.py b/推特/main.py index 83114da..92da972 100644 --- a/推特/main.py +++ b/推特/main.py @@ -8,6 +8,7 @@ from loguru import logger from DrissionPage import ChromiumOptions, ChromiumPage from bit_tools import openBrowser, createBrowser, get_group_lists, get_browser_lists_Browser +from db_init import ensure_tables, sync_xstart_from_bitbrowser from models.ips import Ips from models.xstart import Xstart from models.xtoken import XToken @@ -749,6 +750,9 @@ def run_work(x_token_info, xstart_info): if __name__ == '__main__': + ensure_tables() + sync_xstart_from_bitbrowser(group_name="推特", max_pages=10) + fz_datas = get_group_lists() for bit_data in get_browser_lists_Browser(id=fz_datas['推特']): diff --git a/推特/同步比特浏览器.py b/推特/同步比特浏览器.py new file mode 100644 index 0000000..d17ca10 --- /dev/null +++ b/推特/同步比特浏览器.py @@ -0,0 +1,6 @@ +from db_init import ensure_tables, sync_xstart_from_bitbrowser + + +if __name__ == '__main__': + ensure_tables() + sync_xstart_from_bitbrowser(group_name="推特", max_pages=10) diff --git a/推特/导入推特.py b/推特/导入推特.py index 4c076a7..4e7bdc3 100644 --- a/推特/导入推特.py +++ b/推特/导入推特.py @@ -1,9 +1,14 @@ +from pathlib import Path + from models.xtoken import XToken +from db_init import ensure_tables if __name__ == '__main__': + ensure_tables() - with open('卡密信息-499251204164220357.txt', 'r', encoding='utf-8') as f: + file_path = Path(__file__).parent / '卡密信息-499251204164220357.txt' + with open(file_path, 'r', encoding='utf-8') as f: content = f.read() tasks = [] # 创建任务列表