|
|
@@ -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()
|