初識Python系列(三)

2022-09-19 21:21:19 字數 2205 閱讀 8001

—— 利用本地儲存cookies自動化登入任意**

## 一、思路

與人機識別硬剛,這個比較有挑戰性,如果有興趣的話可以試一下

通過讀取有本地記錄的瀏覽器,直接進行cookies登入

通過讀取本地儲存的cookies,使用任意瀏覽器進行登入

其中第二項和第三項都差不多,都是由cookies登入,但是第二項是必須啟動本地的瀏覽器才能正常登入,而第三項則通過儲存的cookies直接在後續流程中任意啟動的瀏覽器都可以直接登入了。 則我的思路就是:從本地瀏覽器中讀取並儲存cookies - - > 形成乙個儲存cookies的json檔案 - - > 通過讀取json檔案給瀏覽器新增cookies以實現登入操作。

理論成立,**如下:

from selenium import webdriver

import json

from selenium.webdriver.chrome.options import options

#用json檔案載入cookies值

def get_cookies_local(filename, driver):

in your cmd \n\n\n')

print("waitting for your operator_____")

options = options()

options.add_experimental_option("debuggeraddress", "localhost:12306")

setter = webdriver.chrome(options=options)

#讀取本地瀏覽器上**的cookies

setter.get("")

cookies= setter.get_cookies()

with open(filename, 'w') as f:

json.dump(cookies, f)

setter.close()

#獲取後直接匯入cookies值

use_option(filename, driver)

使用json文字的值

def use_option(filename, driver):

#通過判斷是否有對應的cookies檔案來或cookies檔案是否有值決定返回值

try:

with open(filename, 'r') as f:

arr = json.load(f)

#如果cookies檔案不為空則讀取並向瀏覽器新增cookies

if arr != none:

for i in range(len(arr)):

driver.add_cookie(arr[i])

return true

else:

return false

except exception as e:

return false

​if __name__ == '__main__':

driver = webdriver.chrome()

driver.get("")

#通過判斷use_option函式的返回值來決定是否重新寫入json檔案

if not use_option('cookies.json', driver):

get_cookies_local('cookies.json', driver)

#登入driver.get("")

可以看到沒有對應的儲存cookies.json檔案的,然後直接執行**:

執行操作:點選執行後會直接彈出未記錄本地的瀏覽器開啟b站,然後通過執行提示,手動開啟記錄本地的瀏覽器(用於對cookies的提取與記錄),程式關閉本地瀏覽器後,會發現多出乙個cookies.json檔案,自動將未記錄本地的瀏覽器登入到相應的賬號。第二次執行,由於已經存在cookies.json檔案,通過這個檔案可直接登入,不必再次開啟本地瀏覽器。

通過cookies自動化登入瀏覽器多少有點投機取巧,但是也是新手接觸瀏覽器自動化的一種解決辦法,希望可以在日後通過各種庫的學習以及對opencv、機器學習的掌握,來解決人機識別難題,真正做到使用者的操作簡潔化。

python語言初識(紅桃三)

input使用 python2 要宣告輸入型別 bigbox python3 不需要宣告輸入型別 bigbox python2的 raw input 與 python3 的 input 功能相同 int python2 int longint python3 int float str python...

Nginx系列 初識

nginx 是乙個開源的,高效能的http和反向 伺服器,同時也提供了imap pop3 smtp服務,將其源 以類bsd許可的形式發布,因它的穩定性 豐富的功能集 示例配置檔案和低系統資源的消耗而聞名。反向 和負載均衡 我們先來看看什麼是正向 正向 區域網中的電腦使用者想要直接訪問網路是不可行的,...

C系列 指標初識

學c花絮 以前學c的時候,感覺指標這玩意很難控制,由於一開始就對指標心懷恐懼,所以後來沒學好自在情理之中。可如今不一樣,想做c開發,這是吃飯的傢伙,不得不認真。當乙個人要靠別人或者某種技能來生存的話,也許是很可悲的,這個目前無法改變。先上點概念性的 運算子 是間接引用或間接定址的運算子。當它作用於指...