@
目錄
- 前言
- selenium簡介
- 實戰案例
- 共勉
- 部落格
前言
繼使用requests庫爬取好看影片的文章後,本文分享使用python第三方庫selenium庫接著來爬取影片網站,後續也會接著分享使用第三方庫DrissionPage爬取影片。
selenium簡介
selenium是一個用於web應用測試的工具集,它可以直接執行在瀏覽器中,就像真正的使用者在操作一樣。它主要應用在自動化測試,web爬蟲和自動化任務中。selenium提供了很多程式語言的介面,如java,python,c#等。這讓開發者可以自己編寫指令碼來自動化web應用的測試。
實戰案例
話不多說 ,直接上原始碼
from selenium import webdriver # 瀏覽器驅動
from selenium.webdriver.common.by import By # 用來定位web頁面上的元素
import time # 時間函式
import os # 檔案管理模組
import requests # 資料請求模組
if not os.path.exists('./videos1'): # 建立資料夾
os.mkdir('./videos1')
def video(data): # 定義請求每個詳細影片的函式
for url in data: # 遍歷每個詳細影片的地址
driver=webdriver.Chrome() # 初始化瀏覽器例項
driver.get(url) # 開啟url頁面
src=driver.find_element(by=By.CLASS_NAME, value='art-video') # 獲取每個詳細影片的詳細地址
src=src.get_attribute('src')
name=driver.find_element(by=By.CLASS_NAME, value='videoinfo-title') # 獲取每個詳細影片的標題
name=name.text
video_detail=requests.get(src).content # 對每個詳細影片進行請求
with open('./videos1/'+name+'.mp4','wb') as f: # 儲存影片
f.write(video_detail)
print(name,src)
driver.quit() # 關閉瀏覽器
driver=webdriver.Chrome() # 初始化瀏覽器例項
driver.get("https://haokan.baidu.com/") # 開啟網址
for i in range(1,6):
driver.execute_script("document.documentElement.scrollTop=2000") # 頁面下滑
time.sleep(1)
time.sleep(2)
data_video=driver.find_elements(by=By.CLASS_NAME,value='videoItem_videoitem__Z_x08') # 對影片資訊進行定位
data=[] # 定義空列表,用來儲存每個時評的地址
for a in data_video: #
href=a.get_attribute("href") # 獲取影片地址
data.append(href)
print(data)
time.sleep(2)
driver.quit() # 關閉瀏覽器
video(data) # 呼叫video()函式
共勉
能力決定下限,機會決定上限
部落格
- 本人是一個滲透愛好者,不時會在微信公眾號(laity的滲透測試之路)更新一些實戰滲透的實戰案例,感興趣的同學可以關注一下,大家一起進步。
- 之前在公眾號釋出了一個kali破解WiFi的文章,感興趣的同學可以去看一下,在b站(up主:laity1717)也釋出了相應的教學影片。