完善检查账号状态

This commit is contained in:
SwZ
2025-04-18 16:37:15 +08:00
parent 4dad69c84e
commit f8c2f9ee31
2 changed files with 44 additions and 34 deletions

View File

@@ -64,7 +64,7 @@ def main():
time.sleep(10) time.sleep(10)
continue continue
task['data']['tid'] = task['id'] task['data']['tid'] = task['id']
task['data']['task_type'] = task['taskType'] task['data']['task_type'] = task['task_type']
t.submit(execute_task, **task['data']) t.submit(execute_task, **task['data'])
except Exception as e: except Exception as e:
error_logger.error(f'Main Error: {e}') error_logger.error(f'Main Error: {e}')

View File

@@ -777,8 +777,21 @@ def parse_cookies(cookies):
def check_account_status(page): def check_account_status(page):
page.set_default_timeout(3000)
try: try:
_change_language(page)
except TimeoutError:
page.set_default_timeout(3000)
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"]') lock_img = page.query_selector_all('//img[@src="/images/checkpoint/epsilon/comet/intro.png"]')
if lock_img: if lock_img:
raise AuthException('该账户已被封禁') raise AuthException('该账户已被封禁')
@@ -786,11 +799,13 @@ def check_account_status(page):
pass pass
try: try:
# 无法登录 无效cookies
login_btn = page.query_selector_all('//button[@name="login"]') login_btn = page.query_selector_all('//button[@name="login"]')
if login_btn: if login_btn:
raise AuthException('该账户登录状态失效') raise AuthException('该账户登录状态失效')
except TimeoutError: except TimeoutError:
pass pass
raise AuthException('该账户异常')
class RLock(threading._RLock): class RLock(threading._RLock):
@@ -816,7 +831,7 @@ def playwright_like(cookies, target_url):
url = 'https://facebook.com' url = 'https://facebook.com'
try: try:
page.goto(url) page.goto(url)
_change_language(page) check_account_status(page)
if 'permalink.php?story_fbid' in target_url or '/posts/' in target_url: 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) page.click(button_xpath)
time.sleep(10) time.sleep(10)
except Error as e: except Error as e:
check_account_status(page)
raise OperationFailed(f'操作超时,请重试{e}') raise OperationFailed(f'操作超时,请重试{e}')
screenshot_content = _full_screenshot() screenshot_content = _full_screenshot()
@@ -865,7 +879,7 @@ def playwright_post(cookies, content, image_key=None):
url = 'https://facebook.com' url = 'https://facebook.com'
try: try:
page.goto(url) page.goto(url)
_change_language(page) check_account_status(page)
time.sleep(5) time.sleep(5)
if image_key: if image_key:
@@ -894,7 +908,6 @@ def playwright_post(cookies, content, image_key=None):
page.goto(post_url) page.goto(post_url)
time.sleep(5) time.sleep(5)
except Error as e: except Error as e:
check_account_status(page)
raise OperationFailed(f'操作超时,请重试{e}') raise OperationFailed(f'操作超时,请重试{e}')
screenshot_content = _full_screenshot() screenshot_content = _full_screenshot()
@@ -924,7 +937,7 @@ def playwright_comment(cookies, target_url, content, image_key=None):
url = 'https://facebook.com' url = 'https://facebook.com'
try: try:
page.goto(url) page.goto(url)
_change_language(page) check_account_status(page)
time.sleep(5) time.sleep(5)
page.goto(target_url) page.goto(target_url)
@@ -967,7 +980,6 @@ def playwright_comment(cookies, target_url, content, image_key=None):
page.click(comment_xpath) page.click(comment_xpath)
time.sleep(5) time.sleep(5)
except Error as e: except Error as e:
check_account_status(page)
raise OperationFailed(f'操作超时,请重试{e}') raise OperationFailed(f'操作超时,请重试{e}')
screenshot_content = _full_screenshot() screenshot_content = _full_screenshot()
@@ -1000,12 +1012,11 @@ def playwright_get_user_profile(cookies, username=None):
url = 'https://facebook.com' url = 'https://facebook.com'
try: try:
page.goto(url) 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') 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() username = page.locator('//div[@aria-label="Shortcuts"]//li[1]//span').first.inner_text()
except Error as e: except Error as e:
check_account_status(page)
raise OperationFailed(f'操作超时,请重试{e}') raise OperationFailed(f'操作超时,请重试{e}')
context.close() context.close()
browser.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' url = 'https://www.facebook.com'
try: try:
page.goto(url) page.goto(url)
_change_language(page) check_account_status(page)
url = 'https://accountscenter.facebook.com/?entry_point=app_settings' url = 'https://accountscenter.facebook.com/?entry_point=app_settings'
page.goto(url) page.goto(url)
@@ -1082,7 +1093,6 @@ def playwright_set_user_profile(cookies, username=None, first_name=None, last_na
time.sleep(5) time.sleep(5)
os.remove(file_path) os.remove(file_path)
except Error as e: except Error as e:
check_account_status(page)
raise OperationFailed(f'操作超时,请重试{e}') raise OperationFailed(f'操作超时,请重试{e}')
context.close() context.close()
@@ -1119,18 +1129,18 @@ def playwright_check_account_cookies(cookies):
if __name__ == '__main__': 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 = '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 = 'c_user=61573270029140;xs=13:wxQbtfa7hrujUA:2:1743959715:-1:-1;fr=0iZcgonpqtz82lJCx.AWfaexobO4BF75JHVmDgZDh1i9QyC1NnZb5lozeYLSYVrq5mo6E.Bn8rap..AAA.0.0.Bn8rap.AWeceBbr8N7OEWyajASDe2BKQtw;datr=orbyZzxCYjVtB_NXmCeOc56h'
# cookies = { cookies = {
# 'datr': '4MXgZ3twsUMLaR7_yYPjboTs', 'datr': '4MXgZ3twsUMLaR7_yYPjboTs',
# 'sb': '4MXgZ5AKdd6AiVqGy_N0-cpe', 'sb': '4MXgZ5AKdd6AiVqGy_N0-cpe',
# 'locale': 'zh_CN', 'locale': 'zh_CN',
# 'presence': 'C{"t3":[],"utc3":1742784026639,"v":1}', 'presence': 'C{"t3":[],"utc3":1742784026639,"v":1}',
# 'ps_n': '1', 'ps_n': '1',
# 'wd': '1369x475', 'wd': '1369x475',
# 'c_user': '61574433449058', 'c_user': '61574433449058',
# 'fr': '04xfKMRdCsbtllhPA.AWUt-rPOi-ist5ZdVHl3jiYcKYM11xLu0MN9gA.Bn4MXg..AAA.0.0.Bn4MYY.AWWmAFxhQek', 'fr': '04xfKMRdCsbtllhPA.AWUt-rPOi-ist5ZdVHl3jiYcKYM11xLu0MN9gA.Bn4MXg..AAA.0.0.Bn4MYY.AWWmAFxhQek',
# 'xs': '6:he_0XMG7YzQPKQ:2:1742784022:-1:-1', 'xs': '6:he_0XMG7YzQPKQ:2:1742784022:-1:-1',
# } }
# post(cookies, 'cs2025') # post(cookies, 'cs2025')
# like(cookies, 'ZmVlZGJhY2s6MTIyMTA5NjE0NjU0NzkzNzc5') # like(cookies, 'ZmVlZGJhY2s6MTIyMTA5NjE0NjU0NzkzNzc5')
# comment(cookies, 'ZmVlZGJhY2s6MTIyMTA5NjE0NjU0NzkzNzc5', 'game la', 'xzpq.mp4') # comment(cookies, 'ZmVlZGJhY2s6MTIyMTA5NjE0NjU0NzkzNzc5', 'game la', 'xzpq.mp4')