把獲取到的下載視頻的url存放在數(shù)組中(也可寫入文件中),通過調(diào)用迅雷接口,進行自動下載。(請先下載迅雷,并在其設(shè)置中心的下載管理中設(shè)置為一鍵下載)
實現(xiàn)代碼如下:
from bs4 import BeautifulSoup import requests import os,re,time import urllib3 from win32com.client import Dispatch class DownloadVideo: def __init__(self): self.r = requests.session() self.url=self.get_url() self.download_urla=[] self.download_urlb=[] self.url_set=["%s/shipin/list-短視頻.html"%self.url] #獲取最新網(wǎng)址 def get_url(self): urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) a=self.r.get('https://www.k58.com',verify=False) b=a.url return b #幾頁內(nèi)容的網(wǎng)址 def url_set1(self,n): if n==2: url="%s/shipin/list-短視頻-2.html"%self.url self.url_set.append(url) elif n>=3: m=n+1 for i in range(2,m): url="%s/shipin/list-短視頻-%d.html"%(self.url,i) self.url_set.append(url) else: pass #分別加載每一個頁內(nèi)容的網(wǎng)址 def download_url1(self): for j in self.url_set: urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) r=self.r.get(j,verify=False) sp1=r.content soup = BeautifulSoup(sp1, "html.parser") sp2 = soup.find_all(class_="shown") for i in sp2: url1=re.findall('a href="(.*?)" rel="external nofollow" ',str(i)) u=self.url+url1[0] self.download_urla.append(u) #分別獲取各個視頻的下載鏈接 def download_url2(self): for i in self.download_urla: urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) r=self.r.get(i,verify=False) sp1=r.content soup = BeautifulSoup(sp1, "html.parser") sp2 = soup.find_all(class_="form-control input-sm copy_btn app_disable") for j in sp2: url2=j["data-clipboard-text"] self.download_urlb.append(url2) #將鏈接寫入txt中 # self.write_txt(url2) #迅雷下載 def thunder_download(self): try: thunder = Dispatch("ThunderAgent.Agent64.1") for i in self.download_urlb: thunder.AddTask(i) thunder.CommitTasks() time.sleep(2) except: print("請下載迅雷,并在其設(shè)置中心的下載管理中設(shè)置為一鍵下載") def mkdir(self,path): folder = os.path.exists(path) if not folder: os.makedirs(path) else: pass def write_txt(self,c): self.mkdir(r"D:\AAAAA") file_name=time.strftime('%Y%m%d_%H%M%S.txt') with open(r"D:\AAAAA\%s"%file_name,'a') as f: f.write(c+"\n") if __name__ == '__main__': d=DownloadVideo() #數(shù)字表示幾頁的內(nèi)容 d.url_set1(5) d.download_url1() d.download_url2() d.thunder_download()
到此這篇關(guān)于python爬蟲爬取某網(wǎng)站視頻的示例代碼的文章就介紹到這了,更多相關(guān)python爬蟲爬取網(wǎng)站視頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:郴州 大慶 烏蘭察布 平頂山 合肥 烏蘭察布 哈爾濱 海南
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python爬蟲爬取某網(wǎng)站視頻的示例代碼》,本文關(guān)鍵詞 python,爬蟲,爬取,某,網(wǎng)站,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。