mirror of
https://github.com/zhao-zg/jd-login.git
synced 2026-01-18 17:10:43 +08:00
Compare commits
No commits in common. "dfac771630a69ae7755bb4e3d38911438cfdae2d" and "88246e263990e90f08f941b15c6efa1e6c1f729c" have entirely different histories.
dfac771630
...
88246e2639
@ -43,11 +43,11 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
TZ: Asia/Shanghai
|
TZ: Asia/Shanghai
|
||||||
command: >
|
command: >
|
||||||
sh -c "rm -rf *
|
sh -c "pip install requests fake_useragent && rm -rf *
|
||||||
&& wget -O api.py https://raw.githubusercontent.com/zhao-zg/jd-login/main/api.py
|
&& wget -O api.py https://raw.githubusercontent.com/zhao-zg/jd-login/main/api.py
|
||||||
&& wget -O login.py https://raw.githubusercontent.com/zhao-zg/jd-login/main/login.py
|
&& wget -O login.py https://raw.githubusercontent.com/zhao-zg/jd-login/main/login.py
|
||||||
&& python api.py"
|
&& python api.py"
|
||||||
networks: {}
|
networks: {}
|
||||||
```
|
```
|
||||||
|
|
||||||
# 感谢原作者小九九
|
# 感谢作者小九九
|
||||||
|
|||||||
16
login.py
16
login.py
@ -18,7 +18,7 @@ import base64
|
|||||||
import io
|
import io
|
||||||
import re
|
import re
|
||||||
import logging
|
import logging
|
||||||
#from fake_useragent import UserAgent
|
from fake_useragent import UserAgent
|
||||||
|
|
||||||
# 传参获得已初始化的ddddocr实例
|
# 传参获得已初始化的ddddocr实例
|
||||||
ocr = None
|
ocr = None
|
||||||
@ -127,7 +127,7 @@ async def loginPhone(chromium_path, workList, uid, headless):
|
|||||||
)
|
)
|
||||||
page = await browser.newPage()
|
page = await browser.newPage()
|
||||||
await page.setUserAgent(
|
await page.setUserAgent(
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
|
UserAgent().random
|
||||||
)
|
)
|
||||||
await page.setViewport({"width": 360, "height": 640})
|
await page.setViewport({"width": 360, "height": 640})
|
||||||
await page.goto(
|
await page.goto(
|
||||||
@ -163,7 +163,7 @@ async def loginPhone(chromium_path, workList, uid, headless):
|
|||||||
workList[uid].msg = "正在过滑块检测"
|
workList[uid].msg = "正在过滑块检测"
|
||||||
await verification(page)
|
await verification(page)
|
||||||
await page.waitFor(2000)
|
await page.waitFor(2000)
|
||||||
elif await page.xpath('//*[@id="captcha_modal"]/div/div[4]/button'):
|
elif await page.xpath('//*[@id="captcha_modal"]/div/div[3]/button'):
|
||||||
logger.info("进入点形状、颜色验证分支")
|
logger.info("进入点形状、颜色验证分支")
|
||||||
|
|
||||||
workList[uid].status = "pending"
|
workList[uid].status = "pending"
|
||||||
@ -308,10 +308,8 @@ async def loginPassword(chromium_path, workList, uid, headless):
|
|||||||
)
|
)
|
||||||
page = await browser.newPage()
|
page = await browser.newPage()
|
||||||
await page.setUserAgent(
|
await page.setUserAgent(
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
|
||||||
)
|
)
|
||||||
#user_agent = await page.evaluate("navigator.userAgent")
|
|
||||||
#print(f"User-Agent: {user_agent}")
|
|
||||||
await page.setViewport({"width": 360, "height": 640})
|
await page.setViewport({"width": 360, "height": 640})
|
||||||
await page.goto(
|
await page.goto(
|
||||||
"https://plogin.m.jd.com/login/login?appid=300&returnurl=https%3A%2F%2Fm.jd.com%2F&source=wq_passport"
|
"https://plogin.m.jd.com/login/login?appid=300&returnurl=https%3A%2F%2Fm.jd.com%2F&source=wq_passport"
|
||||||
@ -362,7 +360,7 @@ async def loginPassword(chromium_path, workList, uid, headless):
|
|||||||
await verification(page)
|
await verification(page)
|
||||||
await page.waitFor(3000)
|
await page.waitFor(3000)
|
||||||
|
|
||||||
elif await page.xpath('//*[@id="captcha_modal"]/div/div[4]/button'):
|
elif await page.xpath('//*[@id="captcha_modal"]/div/div[3]/button'):
|
||||||
logger.info("进入点形状、颜色验证分支")
|
logger.info("进入点形状、颜色验证分支")
|
||||||
workList[uid].status = "pending"
|
workList[uid].status = "pending"
|
||||||
workList[uid].msg = "正在过形状、颜色检测"
|
workList[uid].msg = "正在过形状、颜色检测"
|
||||||
@ -952,9 +950,9 @@ async def verification_shape(page):
|
|||||||
rgba2rgb("rgb_word_img.png", "rgba_word_img.png")
|
rgba2rgb("rgb_word_img.png", "rgba_word_img.png")
|
||||||
word = get_word(ocr, "rgb_word_img.png")
|
word = get_word(ocr, "rgb_word_img.png")
|
||||||
|
|
||||||
button = await page.querySelector("div.captcha_footer button#submit-btn")
|
button = await page.querySelector("div.captcha_footer button.sure_btn")
|
||||||
if button is None:
|
if button is None:
|
||||||
button = await page.querySelector("button#submit-btn")
|
button = await page.querySelector(".sure_btn")
|
||||||
if button is None:
|
if button is None:
|
||||||
logger.info("未找到提交按钮")
|
logger.info("未找到提交按钮")
|
||||||
raise "未找到提交按钮"
|
raise "未找到提交按钮"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user