diff --git a/main.py b/main.py index 7879b1f..78fa1fb 100644 --- a/main.py +++ b/main.py @@ -64,7 +64,7 @@ def main(): time.sleep(10) continue task['data']['tid'] = task['id'] - task['data']['task_type'] = task['taskType'] + task['data']['task_type'] = task['task_type'] t.submit(execute_task, **task['data']) except Exception as e: error_logger.error(f'Main Error: {e}') diff --git a/spider/task.py b/spider/task.py index 3657c7f..d1c1f54 100644 --- a/spider/task.py +++ b/spider/task.py @@ -777,20 +777,35 @@ def parse_cookies(cookies): def check_account_status(page): - page.set_default_timeout(3000) try: - lock_img = page.query_selector_all('//img[@src="/images/checkpoint/epsilon/comet/intro.png"]') - if lock_img: - raise AuthException('该账户已被封禁') + _change_language(page) except TimeoutError: - pass + page.set_default_timeout(3000) - try: - login_btn = page.query_selector_all('//button[@name="login"]') - if login_btn: - raise AuthException('该账户登录状态失效') - except TimeoutError: - pass + try: + # 账户被暂停 + suspended_span = page.query_selector_all('//span[text()="We suspended your account"]') + if suspended_span: + raise AuthException('该账户被暂停') + except TimeoutError: + pass + + try: + # 被封 + lock_img = page.query_selector_all('//img[@src="/images/checkpoint/epsilon/comet/intro.png"]') + if lock_img: + raise AuthException('该账户已被封禁') + except TimeoutError: + pass + + try: + # 无法登录 无效cookies + login_btn = page.query_selector_all('//button[@name="login"]') + if login_btn: + raise AuthException('该账户登录状态失效') + except TimeoutError: + pass + raise AuthException('该账户异常') class RLock(threading._RLock): @@ -816,7 +831,7 @@ def playwright_like(cookies, target_url): url = 'https://facebook.com' try: page.goto(url) - _change_language(page) + check_account_status(page) if 'permalink.php?story_fbid' in target_url or '/posts/' in target_url: # 文字或图片类型 @@ -835,7 +850,6 @@ def playwright_like(cookies, target_url): page.click(button_xpath) time.sleep(10) except Error as e: - check_account_status(page) raise OperationFailed(f'操作超时,请重试{e}') screenshot_content = _full_screenshot() @@ -865,7 +879,7 @@ def playwright_post(cookies, content, image_key=None): url = 'https://facebook.com' try: page.goto(url) - _change_language(page) + check_account_status(page) time.sleep(5) if image_key: @@ -894,7 +908,6 @@ def playwright_post(cookies, content, image_key=None): page.goto(post_url) time.sleep(5) except Error as e: - check_account_status(page) raise OperationFailed(f'操作超时,请重试{e}') screenshot_content = _full_screenshot() @@ -924,7 +937,7 @@ def playwright_comment(cookies, target_url, content, image_key=None): url = 'https://facebook.com' try: page.goto(url) - _change_language(page) + check_account_status(page) time.sleep(5) page.goto(target_url) @@ -967,7 +980,6 @@ def playwright_comment(cookies, target_url, content, image_key=None): page.click(comment_xpath) time.sleep(5) except Error as e: - check_account_status(page) raise OperationFailed(f'操作超时,请重试{e}') screenshot_content = _full_screenshot() @@ -1000,12 +1012,11 @@ def playwright_get_user_profile(cookies, username=None): url = 'https://facebook.com' try: page.goto(url) - _change_language(page) + check_account_status(page) profile_pic_url = page.locator('//div[@aria-label="Shortcuts"]//li[1]//*[@preserveAspectRatio="xMidYMid slice"]').get_attribute('xlink:href') username = page.locator('//div[@aria-label="Shortcuts"]//li[1]//span').first.inner_text() except Error as e: - check_account_status(page) raise OperationFailed(f'操作超时,请重试{e}') context.close() browser.close() @@ -1045,7 +1056,7 @@ def playwright_set_user_profile(cookies, username=None, first_name=None, last_na url = 'https://www.facebook.com' try: page.goto(url) - _change_language(page) + check_account_status(page) url = 'https://accountscenter.facebook.com/?entry_point=app_settings' page.goto(url) @@ -1082,7 +1093,6 @@ def playwright_set_user_profile(cookies, username=None, first_name=None, last_na time.sleep(5) os.remove(file_path) except Error as e: - check_account_status(page) raise OperationFailed(f'操作超时,请重试{e}') context.close() @@ -1119,18 +1129,18 @@ def playwright_check_account_cookies(cookies): if __name__ == '__main__': # cookies = 'sb=mC6pxQuLvNLPTNpF-b9Tk8tK;c_user=61570961343759;xs=18:fBZ4XJkFA69uNg:2:1734940655:-1:-1;fr=0JjwzD0HEedbQSHGt.AWUHNQcfxnkbZ3j5rVd1NgTTGhA.BnaRfv..AAA.0.0.BnaRfv.AWWF3uukqmQ;datr=7xdpZzxiItbht8A5aCDBAhQU' - cookies = 'c_user=61573698353746;xs=2:fEV887K0i6K7kA:2:1743959713:-1:-1;fr=0W6Rif6GTiEeVWr1z.AWfSxIttggk4A9uSoQhL0TsOnL0uGWTTz8tAf53hslLXxeNaq4E.Bn8ram..AAA.0.0.Bn8ram.AWcw8GPv2RuqrHRC03M2PJo6wN8;datr=oLbyZ5IUZm0W5Tcz-HYNb3Jk' - # cookies = { - # 'datr': '4MXgZ3twsUMLaR7_yYPjboTs', - # 'sb': '4MXgZ5AKdd6AiVqGy_N0-cpe', - # 'locale': 'zh_CN', - # 'presence': 'C{"t3":[],"utc3":1742784026639,"v":1}', - # 'ps_n': '1', - # 'wd': '1369x475', - # 'c_user': '61574433449058', - # 'fr': '04xfKMRdCsbtllhPA.AWUt-rPOi-ist5ZdVHl3jiYcKYM11xLu0MN9gA.Bn4MXg..AAA.0.0.Bn4MYY.AWWmAFxhQek', - # 'xs': '6:he_0XMG7YzQPKQ:2:1742784022:-1:-1', - # } + # cookies = 'c_user=61573270029140;xs=13:wxQbtfa7hrujUA:2:1743959715:-1:-1;fr=0iZcgonpqtz82lJCx.AWfaexobO4BF75JHVmDgZDh1i9QyC1NnZb5lozeYLSYVrq5mo6E.Bn8rap..AAA.0.0.Bn8rap.AWeceBbr8N7OEWyajASDe2BKQtw;datr=orbyZzxCYjVtB_NXmCeOc56h' + cookies = { + 'datr': '4MXgZ3twsUMLaR7_yYPjboTs', + 'sb': '4MXgZ5AKdd6AiVqGy_N0-cpe', + 'locale': 'zh_CN', + 'presence': 'C{"t3":[],"utc3":1742784026639,"v":1}', + 'ps_n': '1', + 'wd': '1369x475', + 'c_user': '61574433449058', + 'fr': '04xfKMRdCsbtllhPA.AWUt-rPOi-ist5ZdVHl3jiYcKYM11xLu0MN9gA.Bn4MXg..AAA.0.0.Bn4MYY.AWWmAFxhQek', + 'xs': '6:he_0XMG7YzQPKQ:2:1742784022:-1:-1', + } # post(cookies, 'cs2025') # like(cookies, 'ZmVlZGJhY2s6MTIyMTA5NjE0NjU0NzkzNzc5') # comment(cookies, 'ZmVlZGJhY2s6MTIyMTA5NjE0NjU0NzkzNzc5', 'game la', 'xzpq.mp4')