想實現一個自動下載微信公眾號分享百度網盤圖片鏈接的爬蟲,使用selenium和火狐的webdriver進行完成
webdriver
下載地址:https://files-cdn.cnblogs.com/files/zhukaile/geckodriver.zip
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()#找到確認按鈕點擊
如果對你有幫助的話不妨點個贊,歡迎在評論區留言