亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Python腳本對(duì)GiteePages進(jìn)行一鍵部署的使用說(shuō)明

 更新時(shí)間:2021年05月27日 10:03:10   投稿:mrr  
剛好之前有了解過(guò)python的自動(dòng)化,就想著自動(dòng)化腳本,百度一搜還真有類(lèi)似的文章。今天就給大家分享下使用Python腳本對(duì)GiteePages進(jìn)行一鍵部署的使用說(shuō)明,感興趣的朋友一起看看吧

本次系統(tǒng)環(huán)境

os: Deepin(Linux)
Python: 3.7
lib: PyYAML=5.3.1 | selenium=3.141.0
extend_driver: chromedriver

使用說(shuō)明

參數(shù)

Python腳本和config.yaml配置文件中包含的參數(shù)信息

repo_user_name = "Gitee用戶名"
repo_name = "倉(cāng)庫(kù)名"
login_user = "登錄用戶"
login_pwd = "登錄密碼"
os = "輸入數(shù)值1~3(你的操作系統(tǒng):1 Linux | 2 Mac | 3 Windows)"

驅(qū)動(dòng)

本文使用的是 Linux 87.0.4280.88(正式版本) (64 位)

你需要根據(jù)你的操作系統(tǒng)和谷歌瀏覽器選擇對(duì)應(yīng)的驅(qū)動(dòng)。如果你的瀏覽器版本與我的一致,那么恭喜你_,直接拿去用吧~我已經(jīng)把Linux、Mac和Windows的驅(qū)動(dòng)準(zhǔn)備好了。

如果你的谷歌瀏覽器版本與我的不一致也不要緊,下面我會(huì)告訴你如何下載與配置。

1.查看你的chrome版本

在chrome瀏覽器地址欄輸入: chrome://version/ 查看自己的版本信息。

然后你將看到:

或者在設(shè)置里查看:

2.下載驅(qū)動(dòng)

選擇自己的驅(qū)動(dòng) Windows|Linux|Mac。 驅(qū)動(dòng)下載: 地址

3.重要提示: 需要把驅(qū)動(dòng)放到下面兩個(gè)路徑下

1.谷歌的安裝路徑

2.python的安裝路徑

Python環(huán)境

為了避免干擾,我使用虛擬環(huán)境來(lái)進(jìn)行管理。

當(dāng)然你使用安裝系統(tǒng)安裝的環(huán)境也沒(méi)關(guān)系。

使用安裝環(huán)境

1.安裝依賴庫(kù)

requirements.txt所在目錄執(zhí)行:

pip install -r requirements.txt

創(chuàng)建尋環(huán)境

1.創(chuàng)建目錄, 并進(jìn)入該目錄

mkdir -p ~/Virtualenv/Python37 && cd ~/Virtualenv/Python37

2.創(chuàng)建虛擬環(huán)境

python3 -m venv python

如果報(bào)錯(cuò):

The virtual environment was not created successfully because ensurepip is not
available

執(zhí)行:

hljs
apt-get install python3-venv

3.切換到虛擬環(huán)境

如果使用IDE,直接將腳本切換為虛擬環(huán)境的可執(zhí)行程序。
如果使用命令行,可以直接切換到尋虛擬環(huán)境所在的目錄,直接執(zhí)行即可;或者執(zhí)行虛擬環(huán)境中的active。(Windows 腳本在Script下| Linux、Mac在bin下)
e.g. 對(duì)于Linux: source ./bin/activate

4.安裝該本腳本需要的依賴包

pip install -r requirements.txt

運(yùn)行腳本

1.準(zhǔn)備你的倉(cāng)庫(kù)信息
我提供了通過(guò)鍵盤(pán)輸入和配置文件兩種方式來(lái)獲取你的倉(cāng)庫(kù)和密碼等信息。

默認(rèn)是讀取配置文件的方式進(jìn)行獲取。如果你要切換,你可以在bin.py的文件末尾進(jìn)行配置,我做了說(shuō)明。

2.執(zhí)行腳本
如果你已經(jīng)了解并準(zhǔn)備好了,那么直接執(zhí)行它吧~

python bin.py

附錄

腳本 | 驅(qū)動(dòng) | 配置文件等信息,到我的Gitee上下載--> 地址

1.配置文件:config.yaml

repo_user_name: 倉(cāng)庫(kù)用戶
repo_name: 倉(cāng)庫(kù)名
login_user: 登錄名
login_pwd: 登錄密碼
os: 1

Python腳本:bin.py

##! ~/Virtualenv/Python37/python/bin/python
# -*- coding:utf-8 -*-

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as Wait
import yaml
import os


def redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem):
    print("\nstart refresh gitee pages...")

    os_type = {
        '1': 'chromedriver_linux',
        '2': 'chromedriver_mac',
        '3': 'chromedriver_win.exe'
    }

    url = "https://gitee.com/" + repo_user_name + "/" + repo_name + "/pages"

    # path = os.path.dirname(os.path.realpath(__file__))
    # driver_path = "script/{}".format(os_type[oSystem])
    driver = os.path.abspath("script/chromedriver_linux")
    chrome_options = Options()
    chrome_options.add_argument("--window-size=1920,1080")
    chrome_options.add_argument("--start-maximized")
    chrome_options.add_argument("--headless")
    browser = webdriver.Chrome(executable_path=driver, options=chrome_options)

    browser.get(url)

    Wait(browser, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "item.git-nav-user__login-item")))
    print("load finish. url=" + url)
    login_btn = browser.find_element_by_class_name("item.git-nav-user__login-item")
    login_btn.click()

    Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_login")))
    Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_password")))
    print("login page load finish.")
    user_input = browser.find_element_by_id("user_login")
    pwd_input = browser.find_element_by_id("user_password")
    login_btn = browser.find_element_by_name("commit")
    user_input.send_keys(login_user)
    pwd_input.send_keys(login_pwd)
    login_btn.click()

    Wait(browser, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, "button.orange.redeploy-button.ui.update_deploy")))
    print("login finish.")
    deploy_btn = browser.find_element_by_class_name('button.orange.redeploy-button.ui.update_deploy')

    browser.execute_script("window.scrollTo(100, document.body.scrollHeight);")
    deploy_btn.click()
    dialog = browser.switch_to.alert
    dialog.accept()
    print("refresh gitee pages finish.")
    browser.close()


def input_required():
    repo_user_name = input("倉(cāng)庫(kù)用戶名稱(chēng):\n>>>")
    if len(repo_user_name) == 0:
        print("輸入不能為空!請(qǐng)重新輸入")
        input_required()

    repo_name = input("倉(cāng)庫(kù)名稱(chēng):\n>>>")
    if len(repo_name) == 0:
        print("輸入不能為空!請(qǐng)重新輸入")
        input_required()

    login_user = input("登錄用戶名稱(chēng):\n>>>")
    if len(login_user) == 0:
        print("輸入不能為空!請(qǐng)重新輸入")
        input_required()

    login_pwd = input("登錄密碼:\n>>>")
    if len(login_pwd) == 0:
        print("輸入不能為空!請(qǐng)重新輸入")
        input_required()

    oSystem = input("當(dāng)前操作系統(tǒng)(默認(rèn)Linux)\n\t**< 1:Linux | 2:Mac | 3:Windows >**\n>>>")
    if len(os) == 0:
        redeploy(repo_user_name, repo_name, login_user, login_pwd, "1")

    redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem)


def reade_conf():
    path = os.path.dirname(os.path.realpath(__file__))
    config = os.path.join(path, "config.yaml")

    f = open(config)  # 打開(kāi)yaml文件

    # d = yaml.load(f) ##yaml5.1之前的版本:使用load方法加載
    d = yaml.load(f, Loader=yaml.FullLoader)  ##yaml5.1之后的版本:使用load方法加載

    repo_user_name = d['repo_user_name']
    repo_name = d['repo_name']
    login_user = d['login_user']
    login_pwd = d['login_pwd']
    oSystem = str(d['os'])

    redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem)


if __name__ == '__main__':
    # 方式一:通過(guò)鍵盤(pán)輸入必要信息
    # input_required()

    # 方式二:通過(guò)config.yaml配置文件
    reade_conf()

參考文章

https://www.jianshu.com/p/19cc4eb0f199

https://www.cnblogs.com/wulixia/p/11200023.html

以上就是使用Python腳本對(duì)GiteePages進(jìn)行一鍵部署的詳細(xì)內(nèi)容,更多關(guān)于Python GiteePages一鍵部署的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python基于paramiko庫(kù)遠(yuǎn)程執(zhí)行 SSH 命令,實(shí)現(xiàn) sftp 下載文件

    python基于paramiko庫(kù)遠(yuǎn)程執(zhí)行 SSH 命令,實(shí)現(xiàn) sftp 下載文件

    這篇文章主要介紹了python基于paramiko庫(kù)遠(yuǎn)程執(zhí)行 SSH 命令,實(shí)現(xiàn) sftp 下載文件的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • django富文本編輯器的實(shí)現(xiàn)示例

    django富文本編輯器的實(shí)現(xiàn)示例

    這篇文章主要介紹了django富文本編輯器的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • PyTorch使用cpu加載模型運(yùn)算方式

    PyTorch使用cpu加載模型運(yùn)算方式

    今天小編就為大家分享一篇PyTorch使用cpu加載模型運(yùn)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python編程圖形庫(kù)之Pillow使用方法講解

    Python編程圖形庫(kù)之Pillow使用方法講解

    今天小編就為大家分享一篇關(guān)于Python編程圖形庫(kù)之Pillow使用方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Python實(shí)現(xiàn)K-近鄰算法的示例代碼

    Python實(shí)現(xiàn)K-近鄰算法的示例代碼

    k-近鄰算法(K-Nearest Neighbour algorithm),又稱(chēng) KNN 算法,是數(shù)據(jù)挖掘技術(shù)中原理最簡(jiǎn)單的算法。本文將介紹實(shí)現(xiàn)K-近鄰算法的示例代碼,需要的可以參考一下
    2022-09-09
  • python SVD壓縮圖像的實(shí)現(xiàn)代碼

    python SVD壓縮圖像的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python SVD壓縮圖像的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python中命令行參數(shù)argparse模塊的使用

    Python中命令行參數(shù)argparse模塊的使用

    argparse是python自帶的命令行參數(shù)解析包,可以用來(lái)方便的服務(wù)命令行參數(shù)。本文將通過(guò)示例和大家詳細(xì)講講argparse的使用,需要的可以參考一下
    2023-02-02
  • Python +Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問(wèn)題(推薦)

    Python +Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問(wèn)題(推薦)

    這篇文章主要介紹了Python Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python實(shí)現(xiàn)搜索Google Scholar論文信息的示例代碼

    Python實(shí)現(xiàn)搜索Google Scholar論文信息的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)搜索Google Scholar論文信息的功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-03-03
  • 5分鐘教會(huì)你用Docker部署一個(gè)Python應(yīng)用

    5分鐘教會(huì)你用Docker部署一個(gè)Python應(yīng)用

    Docker是一個(gè)開(kāi)源項(xiàng)目,為開(kāi)發(fā)人員和系統(tǒng)管理員提供了一個(gè)開(kāi)放平臺(tái),可以將應(yīng)用程序構(gòu)建、打包為一個(gè)輕量級(jí)容器,并在任何地方運(yùn)行,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)5分鐘教會(huì)你用Docker部署一個(gè)Python應(yīng)用,需要的朋友可以參考下
    2022-06-06

最新評(píng)論