吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2656|回复: 9
收起左侧

[Python 转载] 某网站的自动登录selenium

  [复制链接]
小小的石头13 发表于 2021-6-18 21:13
python selenium 识别验证码自动登录。新学的练练手,这个网站明天就关闭了。

[Python] 纯文本查看 复制代码
import time
from selenium import webdriver
import requests
from bs4 import BeautifulSoup
import re
import base64

url = 'https://zy.hebeea.edu.cn:7001/hebgkzyfz/zyfz/main/index'
browser = webdriver.Chrome()
browser.maximize_window()
browser.get(url)

def main():

    html = browser.find_element_by_xpath('/html/body/div[1]/div[2]/div[2]')
    print(html.get_attribute('textContent'))

    login()

def login():
    code = img()

    username = '你的账号'
    password = '密码'
    un = browser.find_element_by_xpath('//*[@id="zjhm"]')
    pw = browser.find_element_by_xpath('//*[@id="mm"]')
    yzm = browser.find_element_by_xpath('//*[@id="kaptchaCode"]')
    submit = browser.find_element_by_xpath('//*[@id="submitBtn"]')
    un.send_keys(username)
    time.sleep(0.7)
    pw.send_keys(password)
    time.sleep(0.7)
    yzm.send_keys(code)
    time.sleep(0.7)
    submit.click()

def img():
    headers = {'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Mobile Safari/537.36 Edg/91.0.864.48'}
    response = requests.get(url,headers=headers)
    soup = BeautifulSoup(response.text,'html.parser')
    res = soup.find('img',id='VerificationCode')
    finally_res = re.findall('src="(.*)" ',str(res))
    #print(finally_res[0])

    img_url = 'https://zy.hebeea.edu.cn:7001' + finally_res[0]
    img_bytes = requests.get(img_url).content

    with open('img1.jpg','wb') as f:
        f.write(img_bytes)

    img_file = open('img1.jpg',mode='rb')
    finally_img = base64.b64encode(img_bytes) #base64编码
    #print(finally_img)
    img_file.close()

    break_img_url = 'http://api.95man.com:8888/api/Http/Recog?Taken=你的taken&imgtype=1&len=4'
    data = {'ImgBase64': finally_img}
    img_content = requests.post(break_img_url,data=data)
    code = re.findall('\|(.*)\|',img_content.text) #验证码

    return code

if __name__ == '__main__':
    main()

免费评分

参与人数 4吾爱币 +8 热心值 +3 收起 理由
_paopao + 1 + 1 谢谢@Thanks!
天使号列车 + 1 + 1 我很赞同!
ablajan + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Alfred斯斯 发表于 2021-6-18 21:35
6哦    怎么用
jjl 发表于 2021-6-18 23:08
ablajan 发表于 2021-6-18 23:44
这个代码对像我这样的小白太有用了,谢谢楼主,希望你多分享这种代码
零下72℃的坚强 发表于 2021-6-19 07:13
谢谢楼主分享,太有用了
jys9903dx 发表于 2021-6-19 10:30
学习了,谢谢
明次 发表于 2021-6-19 21:32
能说下原理吗
_paopao 发表于 2021-6-21 19:44
学习下,谢谢分享
tianya0908 发表于 2021-6-22 19:50
谢谢楼主分享,太有用了
kele_87 发表于 2021-10-29 09:45
绕过验证码会不会更简单点?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表