jack 1 anno fa
parent
commit
14dfedec8d
1 ha cambiato i file con 51 aggiunte e 5 eliminazioni
  1. 51 5
      get_jd_cookie.py

+ 51 - 5
get_jd_cookie.py

@@ -1,12 +1,58 @@
 # https://m.jd.com/
 # JD_COOKIE
 
-import re
+import time
+from playwright.sync_api import sync_playwright
 
-cookie = """wxa_level=1; retina=0; cid=9; jxsid=17278350625402815639; appCode=ms0ca95114; webp=1; __jda=122270672.17278350626241240352320.1727835062.1727835062.1727835062.1; __jdv=122270672%7Cdirect%7C-%7Cnone%7C-%7C1727835062624; __jdc=122270672; mba_muid=17278350626241240352320; visitkey=7165378228594128439; shshshfpa=4f244991-df46-7046-322b-a0a9deccb102-1727835065; shshshfpx=4f244991-df46-7046-322b-a0a9deccb102-1727835065; shshshfpb=BApXSNln2SfdA0ueBLQGe8oDiyd5lCgDYBmXCV0po9xJ1MgaQ4YC2; jcap_dvzw_fp=rk50iIM57VT1oHGZbEtAehY62pkk1pOkyvkRD0CE1wTrB0x9JiI0nburUU8U52EqrG-XjWAPyL7yaxwzQn3jQw==; TrackerID=WCK40GCpybk9Am2ivM8jm-Ii5dkFqFgj9g6jVwHlq52T8HdE1uIOlEW_l2FpPJuunIsC95Ongj-QzuKGpGHdN-JNn0H5fEhPTeUl1oLS8MsXGxfsz1ot5DZbWegfmeySYmrYc9jzwscn-MsN--PQgQ; pt_key=AAJm_KvhADBMr1gu1HMtDHJuFurGPJdkpTVQQx4zxkdssbprdqKjo8yZDoKUJkAioT50YSCie04; pt_pin=13640895082_p; pt_token=ggefv4nd; pwdt_id=13640895082_p; sfstoken=tk01md2801cdca8sMngyKzMrMjBF0xhxC3vvNroNMp71WLXJ9QZRute9ff3vZu+a0efl+15t7qBk8c4zFIyTiTOdaRpm; whwswswws=; wqmnx1=MDEyNjM1MGg6am0xODk0ei8objtlY1gxIGVpNyhMa2NDZS4wYTMgMS4zcjJmLTJLV1VJIyYoKQ%3D%3D; __jdb=122270672.3.17278350626241240352320|1.1727835062; mba_sid=17278350626256470340103191539.4; __jd_ref_cls=MSearch_DarkLines"""
 
-pt_key = "pt_key=" + re.findall('pt_key=(.*?);', cookie)[0] + ";"
+with sync_playwright() as playwright:
+    browser = playwright.chromium.launch(headless=False)
+    context = browser.new_context()
 
-pt_pin = "pt_pin=" + re.findall('pt_pin=(.*?);', cookie)[0] + ";"
+    page = context.new_page()
 
-print(pt_key + pt_pin)
+    page.goto("https://m.jd.com")
+
+    time.sleep(1.2)
+
+    # 等待登录按钮出现
+    page.wait_for_selector("#msShortcutLogin > span")
+
+    # 点击登录按钮
+    page.click("#msShortcutLogin > span")
+
+    time.sleep(1.2)
+
+    # 等待同意协议勾选框出现
+    page.wait_for_selector("#app > div > p.policy_tip > input")
+
+    # 点击同意协议勾选框
+    page.click("#app > div > p.policy_tip > input")
+
+    time.sleep(0.2)
+
+    # 输入手机号, 因为经过上面, 已确定页面已成功加载, 所以不等待
+    page.fill(
+        "#app > div > div:nth-child(3) > p:nth-child(1) > input", "17620730210")
+
+    # 点击获取验证码按钮
+    page.click("#app > div > div:nth-child(3) > p:nth-child(2) > button")
+
+    time.sleep(30)
+
+    page.reload()
+
+    cookies = page.context.cookies()
+
+    pt_key = 'pt_key='
+    pt_pin = 'pt_pin='
+
+    for cookie in cookies:
+        if cookie['name'] == 'pt_key':
+            pt_key += cookie['value']
+        if cookie['name'] == 'pt_pin':
+            pt_pin += cookie['value']
+
+    print(pt_key+';'+pt_pin+';')
+
+    browser.close()