python 利用 selenium 設定cookie 百度雲自動化上傳
突發奇想,家裡攝像頭 如果 家裡進入小偷,把硬碟給你拔走。。。。 是不是 所有的監控都是白搭。
怎麼才能用程式去解決這個問題
於是乎,兩種情況,自己買個伺服器 寫個FTP 伺服器。個人感覺沒有必要,一年好幾百,硬碟還是不夠足夠大。
現在這個雲那個雲,都是給好幾個T 怎麼用都是用不完,我的百度雲 沒有怎麼用過 都給我2T ,足足夠儲存半年,多申請價格賬號。。。。
一開始想過用 lib2 去解決這件事情,但是,過多的 cookie 還有介面需要抓取,直接利用自動測試的 selenium,自己解決個登入問題就OK了,其他 操作 都託管到了瀏覽器上了。省心 省事。
第一步,下載驅動。可以連線上 chrome 。
第二步, browser.get("https://pan.baidu.com/disk/home#list/path=%2F") 直接去請求到列表
第二步是最重要的,這個是為了請求到列表,其實選擇百度雲 還有個原因就是,百度雲 你一旦登入 cookie 是永久的,所以想辦法拿到這個cookie, 很簡單,
瀏覽器開啟除錯模式, 重新整理,看下當前的請求記錄 ,這裡所有的操作都是你在瀏覽器上登入過以後的。 去找你的身份資訊。
這個就是 cookie資訊,拿到以後 改為 name value 的格式,
add_cookie() 到你的程式碼裡。
browser.get("https://pan.baidu.com/disk/home#list/path=%2F") # 先請求一次,讓瀏覽器有cookie的記錄,不然的話 自動登入是不成功的
browser.add_cookie({'name':'PANWEB', 'value':'1'}) #這裡假裝添加了 所有的 cookie
sleep(4)
browser.get("https://pan.baidu.com/disk/home#list/path=%2F") # 從新請求,自己百度雲的列表。
這裡 如果 cookie 沒有錯誤的話,就是沒有問題的,直接跳到列表
browser.find_element_by_class_name('dlg-mbox-close').click() # 關閉指導頁 不關閉 無法做後面的操作
sleep(2) # 等待幾秒,讓裡面的資料操作完成
browser.find_element_by_id("h5Input1").send_keys(u'/Users/imac/Downloads/測試指令碼.txt') # 上傳你需要上傳的檔案
browser.close() # 上傳以後關閉瀏覽器這裡是上傳的核心程式碼,難點就是 怎麼讓你的指令碼自動登入,找到對對應的key值 無設定你的value 進行上傳。
自動登入 是 請求 設定cookie 再請求。就OK 了
如果之後 請求,設定cookie 是不是跳轉到檔案列表介面的
寫程式 做程式設計師 不單單是為了掙錢,也是為了 方便自己,方便他人,歡迎小夥伴提各種需求,讓生活繁瑣的問題程式化
qq:973683374
git:https://github.com/liqingju123/baiduyun/tree/master/selenium_test