想實作一個自動下載下傳微信公衆号分享百度網盤圖檔連結的爬蟲,使用selenium和火狐的webdriver進行完成
1.首先根據自己的浏覽器下載下傳相應的webdriver驅動器,python中導入selenium包。webdriver下載下傳好後,放在浏覽器的預設安裝位址中,
然後再在自己的python預設安裝位址中也加入一份webdriver,并且添加環境變量path,加入浏覽器的安裝位址,即:webdriver放置的目錄

2.擷取自己浏覽器的預設配置,也可以不用,即去掉
propath = r"C:\Users\使用者名\AppData\Roaming\Mozilla\Firefox\Profiles\05dg6q1p.default"
profile = webdriver.FirefoxProfile(propath)#使用自己浏覽器的配置,我的是火狐浏覽器
,其實不影響什麼。擷取的話根據寫的路徑自己找
3.擷取自己百度網盤的cookie,先在浏覽器上登入,然後點選檢查
找到網絡點選第一條發出的請求
找到cookie中的名字是BDUSS,複制替換源代碼的值
4.替換百度網盤的連接配接,和提取碼後就大體完成了
5.可以自己編寫從檔案讀取多條百度網盤連結的函數,在調用本源代碼。此方法僅是适用一條百度連結
源代碼
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
propath = r"C:\Users\使用者名\AppData\Roaming\Mozilla\Firefox\Profiles\05dg6q1p.default"
profile = webdriver.FirefoxProfile(propath)#使用自己浏覽器的配置,我的是火狐浏覽器
#使用自己百度網盤的cookie
cookie1 = {'value': '自己百度網盤的cookie',
'name': 'BDUSS'}
driver = webdriver.Firefox()#括号參數:executable_path="driver路徑",可配置浏覽器驅動的目錄加入了環境變量,就不用括号裡的參數了
#https://pan.baidu.com/s/18BSsXsCKUfpEumKUMT8mTA
# 提取碼:bhnd 測試
link="https://pan.baidu.com/s/18BSsXsCKUfpEumKUMT8mTA"
num="bhnd"
driver.get(link)#先建立連結
driver.add_cookie(cookie_dict=cookie1)#添加cookie進行登入
elem = driver.find_element_by_id("accessCode")
elem.send_keys(num)
elem.send_keys(Keys.RETURN)#輸入回車
time.sleep(10)#等待到完全加載後再找元素
nowurl=driver.current_url
#
# sreach_window = driver.current_window_handle
#全選
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[2]/div[2]/div[2]/div/ul[1]/li[1]/div/span[1]").click()
time.sleep(2)
#點選下載下傳
# driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[1]/div/div[2]/div/div/div[2]/a[2]/span/span").click()#自己決定是下載下傳還是儲存,下載下傳可能會出現輸入校驗碼的情況,無法解決
#點選儲存
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[1]/div/div[2]/div/div/div[2]/a[1]").click()
time.sleep(2)
driver.find_element_by_xpath("/html/body/div[3]/div[3]/a[2]/span/span").click()#找到确認按鈕點選
如果對你有幫助的話不妨點個贊,歡迎在評論區留言