婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python實現自動打卡小程序

python實現自動打卡小程序

熱門標簽:長春人工智能電銷機器人官網 廈門crm外呼系統如何 西藏快速地圖標注地點 n400電話申請多少錢 如何在地圖標注文字 ai地圖標注 地圖標注推廣單頁 百應ai電銷機器人鄭州 女王谷地圖標注

本文實例為大家分享了python實現自動打卡小程序的具體代碼,供大家參考,具體內容如下

"""
湖南大學疫情防控每日自動打卡程序v1.0
author: Liu
time:2021/3/16
"""


from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from PIL import Image
from bs4 import BeautifulSoup
import requests
from aip import AipOcr
import time
from datetime import datetime
import re



class DailyAttend(object):


  def __init__(self, browser, stu_id, passwd, t, address, tmp_yesterday, tmp_today):

    self.browser = browser
    self.stu_id = stu_id
    self.passwd = passwd
    self.t = t
    self.address = address
    self.tmp_yesterday = tmp_yesterday
    self.tmp_today = tmp_today
    self.img_path = "captcha.png"


  def get_captcha_img(self):
    url = "https://fangkong.hnu.edu.cn/app/#/login?redirect=%2Fhome"
    self.browser.get(url)
    self.browser.find_element_by_class_name("vcdoe-tips").click() # 模擬點擊使驗證碼加載出來
    time.sleep(2)
    webpage = self.browser.page_source
    soup = BeautifulSoup(webpage, features="html.parser")
    div = soup.find("div", attrs={"class": "login-content"})
    src = div.find_all("img")[2].attrs["src"] # 從html中解析出圖片鏈接
    r = requests.get(src)
    if r.status_code == 200:
      open(self.img_path, "wb").write(r.content)
    else:
      print("網絡不佳,無法加載驗證碼圖片")


  def recog_captcha_img(self):

    img = Image.open(self.img_path)
    img = img.convert('L') # P模式轉換為L模式(灰度模式默認閾值127)
    count = 165 # 設定閾值
    table = []
    for i in range(256):
      if i  count:
        table.append(0)
      else:
        table.append(1)

    img = img.point(table, '1')
    img.save(self.img_path) # 保存處理后的驗證碼

    ## 調用百度ocr
    # 識別碼
    APP_ID = "23779944"
    API_KEY = "FPgsSXsuqXk3twpqVHmNNK6g"
    SECRET_KEY = "nG08oGzErk8CdMvDAynAiGdzfBjHr3NO"
    # 初始化對象
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

    # 讀取圖片
    def get_file_content(file_path):
      with open(file_path, 'rb') as f:
        return f.read()

    image = get_file_content(self.img_path)
    # 定義參數變量
    options = {'language_type': 'ENG', } # 識別語言類型,默認為'CHN_ENG'中英文混合
    # 調用通用文字識別
    result = client.basicGeneral(image, options) # 高精度接口 basicAccurate
    for word in result['words_result']:
      self.captcha = (word['words'])



  def login(self):

    ## 登錄
    while True:
      self.browser.find_element_by_css_selector("[type=text]").send_keys(self.stu_id)
      self.browser.find_element_by_css_selector("[type=password]").send_keys(self.passwd)
      self.browser.find_element_by_css_selector("[type=number]").send_keys(self.captcha)
      self.browser.find_element_by_tag_name("button").click()
      time.sleep(2)
      page = self.browser.page_source
      html = BeautifulSoup(page, features="html.parser")
      err_message = html.find("p", attrs={"class": "el-message__content"})
      if err_message.text == "登錄成功":
        print("登錄成功!")
        break
      elif err_message.text == "賬號或密碼錯誤":
        print("賬號或密碼錯誤!請重新輸入!")
        self.stu_id = input("請輸入學號:")
        self.passwd = input("請輸入密碼:")
        continue
      else:
        self.get_captcha_img()
        self.recog_captcha_img()
        continue


  def attend(self):
    success_messages = self.browser.find_elements_by_css_selector('p[class=el-message__content]')
    success_messages = [message.text for message in success_messages]
    if "今日已打卡" in success_messages:
      print("今日已打卡!")
      time.sleep(60)
    else:
      ## 選擇打卡定位
      self.browser.find_elements_by_xpath('//div/span[text()="正在獲取定位..."]')[1].click()
      time.sleep(1)
      for i in range(17):
        self.browser.find_elements_by_xpath('//ul/li')[i + 1].click()
      time.sleep(1)
      self.browser.find_element_by_xpath('//ul/li[text()="岳麓區"]').click()
      time.sleep(1)
      self.browser.find_element_by_xpath('//div/button[text()="確認"]').click()
      time.sleep(1)

      ## 輸入相關打卡信息并點擊打卡按鈕
      self.browser.find_elements_by_css_selector('input[placeholder="街道門牌、樓層房間號等信息"]')[1].send_keys(self.address)
      temp = self.browser.find_elements_by_css_selector("input[placeholder=請輸入]")
      temp[0].send_keys(self.tmp_yesterday)
      temp[1].send_keys(self.tmp_today)
      self.browser.find_elements_by_css_selector(
        'button[class="btnDaka van-button van-button--info van-button--normal van-button--block"]')[1].click()
      today = datetime.now().strftime("%Y-%m-%d")
      print(today + "打卡成功!")
      time.sleep(60)




if __name__ == "__main__":

  ## 歡迎界面
  print("=" * 100)
  print("打卡小程序")
  print("歡迎你湖南大學的朋友!開始使用吧!")
  print("=" * 100)

  ## 用戶輸入
  while True:
    t = input("請輸入你的每日打卡時間(24小時制, 例如:00:10):")
    if re.search('^(([0-1][0-9])|(2[1-3])):[0-5][0-9]$', t) == None:
      print("你輸入的時間格式有誤,請重新輸入!")
      continue
    stu_id = input("請輸入你的學號:")
    passwd = input("請輸入個人門戶密碼:")
    address = input("請輸入你的打卡詳細地址(例如:湖南大學北校區1舍):")
    tmp_yesterday = input("請輸入你的昨日體溫:")
    tmp_today = input("請輸入你的今日體溫:")
    print("=" * 100)
    if input("請檢查你的輸入是否無誤,若有誤則輸入y并重新輸入,若無誤則輸入n:") == "n":
      print("=" * 100)
      break

  user_info = {
    't': t,
    'stu_id': stu_id,
    'passwd': passwd,
    'address': address,
    'tmp_yesterday': tmp_yesterday,
    'tmp_today': tmp_today
  }

  ## 瀏覽器設置
  chrome_options = Options()
  chrome_options.add_argument("--headless")
  chrome_options.add_argument("--disable-gpu")
  chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
  browser = webdriver.Chrome(executable_path="chromedriver.exe", options=chrome_options)

  ## 打卡
  app = DailyAttend(browser, **user_info) # 實例化打卡器
  print("正在等待打卡時間到來...")
  while True:
    if datetime.now().strftime("%H:%M") == t:
      app.get_captcha_img()
      app.recog_captcha_img()
      app.login()
      app.attend()
    else:
      time.sleep(10)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python實現釘釘/企業微信自動打卡的示例代碼
  • 基于python+selenium自動健康打卡的實現代碼
  • python實現自動打卡的示例代碼
  • python+selenium 簡易地疫情信息自動打卡簽到功能的實現代碼
  • Python + selenium + crontab實現每日定時自動打卡功能
  • Python 實現網課實時監控自動簽到、打卡功能
  • Python實現i人事自動打卡的示例代碼
  • python獲取微信企業號打卡數據并生成windows計劃任務
  • 使用Python實現企業微信的自動打卡功能
  • Python實戰之單詞打卡統計

標簽:渭南 內江 興安盟 廊坊 拉薩 綿陽 亳州 黔東

巨人網絡通訊聲明:本文標題《python實現自動打卡小程序》,本文關鍵詞  python,實現,自動,打卡,小,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現自動打卡小程序》相關的同類信息!
  • 本頁收集關于python實現自動打卡小程序的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色婷婷久久久亚洲一区二区三区 | 欧美激情中文字幕一区二区| 亚洲视频免费在线| 国产精品资源在线观看| 欧美军同video69gay| 国产精品国产精品国产专区不蜜| 蜜桃久久久久久| 欧洲生活片亚洲生活在线观看| 久久只精品国产| 三级久久三级久久| 在线观看视频欧美| 亚洲人成7777| 成人一区二区三区视频| 久久夜色精品国产噜噜av| 视频一区国产视频| 欧美日韩一卡二卡三卡| 国产精品国产三级国产aⅴ入口 | 在线观看视频91| 亚洲欧洲一区二区在线播放| 国产.欧美.日韩| 精品欧美一区二区三区精品久久| 丝袜美腿一区二区三区| 欧美无砖砖区免费| 亚洲最大色网站| 欧美亚洲另类激情小说| 亚洲线精品一区二区三区八戒| 日本道精品一区二区三区| 亚洲欧洲三级电影| www.日韩在线| 椎名由奈av一区二区三区| 风间由美性色一区二区三区| 国产婷婷色一区二区三区在线| 国产精品综合久久| 国产婷婷色一区二区三区四区| 床上的激情91.| 自拍偷在线精品自拍偷无码专区 | 懂色av中文一区二区三区| 国产女人水真多18毛片18精品视频| 国产夫妻精品视频| 欧美激情一区二区三区全黄| 成人免费高清视频在线观看| 国产精品美女久久久久久| 色综合久久久久久久久久久| 亚洲一区二区精品视频| 欧美一二三区在线| 国产又黄又大久久| 国产精品人成在线观看免费| 一本大道综合伊人精品热热 | 丝袜国产日韩另类美女| 69av一区二区三区| 精品一区二区三区久久| 国产精品免费看片| 欧美性猛交xxxx黑人交| 美女精品一区二区| 日本一区二区久久| 欧美色视频在线| 蓝色福利精品导航| 亚洲私人黄色宅男| 欧美一二三在线| 成人av免费观看| 视频一区二区欧美| 国产欧美日韩在线| 欧美日韩三级在线| 国产精品一区二区久久不卡| 亚洲精品国产一区二区精华液| 欧美精品一二三区| eeuss鲁一区二区三区| 日日摸夜夜添夜夜添精品视频| 久久免费精品国产久精品久久久久| 99麻豆久久久国产精品免费| 久久精品国产澳门| 一区二区三区蜜桃| 国产欧美日韩亚州综合| 欧美日本国产一区| 成人综合在线网站| 六月丁香综合在线视频| 亚洲精品国久久99热| 国产亚洲一本大道中文在线| 欧美日韩mp4| 99久久99久久精品免费观看| 美国三级日本三级久久99| 亚洲色图视频免费播放| 2023国产一二三区日本精品2022| 欧美在线播放高清精品| 国产.欧美.日韩| 久久超碰97中文字幕| 亚洲国产精品尤物yw在线观看| 国产欧美va欧美不卡在线| 日韩一区二区免费电影| 欧美美女直播网站| 色综合久久久久综合体| 高清不卡一二三区| 久久er99热精品一区二区| 亚洲va欧美va天堂v国产综合| 国产精品三级电影| 国产欧美视频在线观看| 精品日韩在线一区| 666欧美在线视频| 欧美三片在线视频观看 | 东方aⅴ免费观看久久av| 九九精品一区二区| 免费一级片91| 轻轻草成人在线| 丝袜美腿亚洲综合| 亚洲1区2区3区4区| 无吗不卡中文字幕| 午夜视频在线观看一区二区三区| 中文字幕日韩av资源站| 成人欧美一区二区三区黑人麻豆| 国产欧美日韩激情| 国产无人区一区二区三区| 国产亚洲福利社区一区| 久久久久久免费网| 国产精品天干天干在线综合| 欧美国产乱子伦 | 亚洲三级在线免费观看| 亚洲国产精品激情在线观看| 国产精品日产欧美久久久久| 国产精品灌醉下药二区| 亚洲欧洲www| 亚洲一卡二卡三卡四卡无卡久久 | 一本一道波多野结衣一区二区 | 亚洲综合成人在线视频| 亚洲精品成人少妇| 一区二区三区中文免费| 亚洲高清免费视频| 另类小说图片综合网| 久久超碰97中文字幕| 国产成人在线视频免费播放| 99久久99久久久精品齐齐 | 欧美探花视频资源| 制服丝袜亚洲网站| 精品国产3级a| 国产精品美女久久久久久久久久久| 综合色中文字幕| 天天影视色香欲综合网老头| 国产综合一区二区| 色香蕉久久蜜桃| 欧美一卡2卡三卡4卡5免费| 久久久久国产免费免费| 亚洲精品菠萝久久久久久久| 日本麻豆一区二区三区视频| 国产一区二区三区视频在线播放| 成人动漫视频在线| 欧美精品久久天天躁| 久久久精品影视| 夜夜嗨av一区二区三区中文字幕 | 蜜桃久久精品一区二区| 99久免费精品视频在线观看| 欧美一区二区三区思思人| 国产女主播视频一区二区| 亚洲成在线观看| 高清久久久久久| 欧美一区二区三区影视| 亚洲人妖av一区二区| 免费成人av在线播放| 91搞黄在线观看| 日本一区二区三区在线不卡| 图片区日韩欧美亚洲| 成人av电影在线网| 日韩午夜av电影| 一级特黄大欧美久久久| 国产成人综合亚洲网站| 日韩精品一区二区在线观看| 亚洲精品成人少妇| 国产成人av资源| 欧美精品一区二区三区在线 | 成人一区二区三区中文字幕| 欧美乱妇23p| 综合亚洲深深色噜噜狠狠网站| 国产一区二区视频在线播放| 欧美日韩国产乱码电影| 亚洲欧美偷拍三级| 国产成人午夜视频| 亚洲精品一区二区三区蜜桃下载 | 日韩激情av在线| 91国在线观看| 成人免费在线视频观看| 国产老肥熟一区二区三区| 欧美一级高清片| 日本欧美一区二区三区乱码| 色网站国产精品| 亚洲欧美日韩国产手机在线| 丁香一区二区三区| 亚洲国产成人午夜在线一区| 精品一区二区三区影院在线午夜| 777色狠狠一区二区三区| 亚洲成av人**亚洲成av**| 欧美特级限制片免费在线观看| 亚洲日本在线观看| 91精品福利视频| 夜夜夜精品看看| 欧美美女一区二区在线观看| 日韩不卡免费视频| 欧美精品三级在线观看| 另类中文字幕网| 国产欧美一区二区精品忘忧草| 懂色av一区二区三区免费看| 成人欧美一区二区三区黑人麻豆 | 在线播放视频一区|