更改获取头像的流程有些账号是中文的无法分开firstname和lastname

This commit is contained in:
work
2025-07-17 16:26:25 +08:00
parent 7d6eba5545
commit 881725ac19

View File

@@ -832,7 +832,8 @@ def check_account_status(page, cookies):
raise AuthException('该账户登录状态失效', 'invalid') raise AuthException('该账户登录状态失效', 'invalid')
# 判断是否被检测到自动化,这种情况只需要点击按钮就可以继续 # 判断是否被检测到自动化,这种情况只需要点击按钮就可以继续
if page.query_selector('//span[text()="We suspect automated behaviour on your account" or text()="We suspect automated behavior on your account"]') is not None: if page.query_selector(
'//span[text()="We suspect automated behaviour on your account" or text()="We suspect automated behavior on your account"]') is not None:
page.click('//span[text()="Dismiss"]') page.click('//span[text()="Dismiss"]')
time.sleep(3) time.sleep(3)
retry_goto(page, 'https://www.facebook.com') retry_goto(page, 'https://www.facebook.com')
@@ -1052,7 +1053,7 @@ def playwright_get_user_profile(cookies, username=None):
with sync_playwright() as playwright: with sync_playwright() as playwright:
update_windows_distinguish() update_windows_distinguish()
browser = playwright.chromium.launch( browser = playwright.chromium.launch(
headless=True, args=['--start-maximized'], executable_path=path headless=False, args=['--start-maximized'], executable_path=path
) )
context = browser.new_context(no_viewport=True) context = browser.new_context(no_viewport=True)
context.add_cookies(parse_cookies(cookies)) context.add_cookies(parse_cookies(cookies))
@@ -1060,15 +1061,20 @@ def playwright_get_user_profile(cookies, username=None):
check_account_status(page, parse_cookies(cookies)) check_account_status(page, parse_cookies(cookies))
url = 'https://facebook.com' cookies_dict = {i['name']: i['value'] for i in parse_cookies(cookies)}
uid = cookies_dict["c_user"]
url = f'https://accountscenter.facebook.com/profiles/{uid}'
try: try:
retry_goto(page, url) retry_goto(page, url)
time.sleep(random.randint(3, 10)) time.sleep(random.randint(3, 10))
profile_pic_url = page.locator( profile_pic_url = page.query_selector('//*[@preserveAspectRatio="xMidYMid slice"]').get_attribute(
'//div[@aria-label="Shortcuts"]//li[1]//*[@preserveAspectRatio="xMidYMid slice"]').get_attribute(
'xlink:href') 'xlink:href')
username = page.locator('//div[@aria-label="Shortcuts"]//li[1]//span').first.inner_text()
page.query_selector('//div[@role="dialog"]//div[@role="listitem"]').click()
firstname = page.locator('//label[text()="First name"]/../input').input_value()
lastname = page.locator('//label[text()="Last name"]/../input').input_value()
except Error as e: except Error as e:
raise OperationFailed(f'操作超时,请重试{e}') raise OperationFailed(f'操作超时,请重试{e}')
context.close() context.close()
@@ -1084,11 +1090,9 @@ def playwright_get_user_profile(cookies, username=None):
# } # }
) )
bio = io.BytesIO(response.content) bio = io.BytesIO(response.content)
key = f"{username.replace(' ', '_')}.png" key = f"{lastname + firstname.replace(' ', '_')}.png"
put_object(key, bio) put_object(key, bio)
username_split = username.split(' ') return {'avatar_key': key, 'username': lastname + firstname, 'first_name': firstname, 'last_name': lastname}
firstname, lastname = username_split[0], username_split[1]
return {'avatar_key': key, 'username': username, 'first_name': firstname, 'last_name': lastname}
def playwright_set_user_profile(cookies, username=None, first_name=None, last_name=None, avatar_key=None): def playwright_set_user_profile(cookies, username=None, first_name=None, last_name=None, avatar_key=None):
@@ -1539,9 +1543,9 @@ if __name__ == '__main__':
# ) # )
# cookies = '{"c_user":"61565405263653","datr":"-YDhZoLWu5zbUIw5cOB2In9s","fr":"0ZmsqLWbmV0Onlspt.AWW1JRfVxQAF-jl0oGY7lBQLYq4.Bm4YD5..AAA.0.0.Bm4YED.AWVf1ae03r4","m_page_voice":"61565405263653","m_pixel_ratio":"2.625","sb":"-YDhZs8LozUoyLe1gj2MCUwW","wd":"412x759","xs":"21%3A8Gt3CwtjVWJUhQ%3A2%3A1726054660%3A-1%3A-1"}' # cookies = '{"c_user":"61565405263653","datr":"-YDhZoLWu5zbUIw5cOB2In9s","fr":"0ZmsqLWbmV0Onlspt.AWW1JRfVxQAF-jl0oGY7lBQLYq4.Bm4YD5..AAA.0.0.Bm4YED.AWVf1ae03r4","m_page_voice":"61565405263653","m_pixel_ratio":"2.625","sb":"-YDhZs8LozUoyLe1gj2MCUwW","wd":"412x759","xs":"21%3A8Gt3CwtjVWJUhQ%3A2%3A1726054660%3A-1%3A-1"}'
# cookies = '{"datr": "mm0taNtaPfOxWhpxdzpkVjV0", "sb": "mm0taFuFnO_L1FpzkKDiA4lw", "wd": "1920x953", "locale": "en_US", "c_user": "61575901481649", "fr": "0c0y2KyMv8lRJ6NNq.AWe7DLt-TSkoOyn3DhRjhA4ByOITAhfSwaiIw4eQE5ilq4Q4KAY.BoLW2a..AAA.0.0.BoLW3M.AWfHVOhZIAGgDh_3BvPFPi8-YhE", "xs": "29%3ASM0qc4U4Ile_MA%3A2%3A1747807693%3A-1%3A-1", "presence": "C%7B%22t3%22%3A%5B%5D%2C%22utc3%22%3A1747807698911%2C%22v%22%3A1%7D"}' # cookies = '{"datr": "mm0taNtaPfOxWhpxdzpkVjV0", "sb": "mm0taFuFnO_L1FpzkKDiA4lw", "wd": "1920x953", "locale": "en_US", "c_user": "61575901481649", "fr": "0c0y2KyMv8lRJ6NNq.AWe7DLt-TSkoOyn3DhRjhA4ByOITAhfSwaiIw4eQE5ilq4Q4KAY.BoLW2a..AAA.0.0.BoLW3M.AWfHVOhZIAGgDh_3BvPFPi8-YhE", "xs": "29%3ASM0qc4U4Ile_MA%3A2%3A1747807693%3A-1%3A-1", "presence": "C%7B%22t3%22%3A%5B%5D%2C%22utc3%22%3A1747807698911%2C%22v%22%3A1%7D"}'
cookies = '{"locale": "en_US", "datr": "t4B0aLXWVdmlbB8Tk3DgGGAT", "sb": "t4B0aLcTJ8rVMlj5jSrGSxZ4", "m_pixel_ratio": "1", "wd": "1920x1080", "test_cookie": "CheckForPermission", "c_user": "61577826670230", "fr": "0npt8e8yXIwNJStkD.AWcQQE4Cfhhj6qesgxbHdF-QHPJH5JSMFUteWGNVP3fAvqnn1TQ.BodIC3..AAA.0.0.BodIDH.AWc9Ky_W-7IIpTEvkNAS8RwnJAU", "xs": "8%3APQt93fAQY1jbIw%3A2%3A1752465608%3A-1%3A-1"}' cookies = '{"locale": "en_US", "datr": "PaB4aGZCgstQYUkBHpEVnEe8", "sb": "PaB4aAgR68sRQtATM6v7gEu5", "m_pixel_ratio": "1", "wd": "1920x1080", "test_cookie": "CheckForPermission", "c_user": "100094571602733", "fr": "0g0qqVhuLyyrKSaUv.AWdif7wExy29FD7aMjwFvrQFqoBzz-S7Qbeg8la4QMVeGv43eLg.BoeKA9..AAA.0.0.BoeKBQ.AWdj3k5XKtwF766wY3n-cro4yw8", "xs": "15%3A52m6IVmYaMzM3Q%3A2%3A1752735825%3A-1%3A-1"}'
# print(playwright_share(cookies, "https://www.facebook.com/groups/1702958116839437/permalink/2210833932718517/", "")) # print(playwright_share(cookies, "https://www.facebook.com/groups/1702958116839437/permalink/2210833932718517/", ""))
print(playwright_check_account_cookies(cookies)) print(playwright_get_user_profile(cookies))
# # 永久链接的帖子点赞 # # 永久链接的帖子点赞
# print(playwright_like(cookies, "https://www.facebook.com/groups/1070754870427928/permalink/1873461830157224/")) # print(playwright_like(cookies, "https://www.facebook.com/groups/1070754870427928/permalink/1873461830157224/"))
# #