python爬虫爬取网站视频_python爬虫:爬取某网站视频

该脚本使用Python的requests和BeautifulSoup库来抓取网页上的短视频链接,并通过迅雷进行批量下载。首先获取指定网站的最新网址,然后遍历多页获取每个页面的视频列表,进一步提取每个视频的下载链接,最后利用迅雷接口进行下载。整个过程涉及网页抓取、正则表达式匹配和自动化下载。
摘要由CSDN通过智能技术生成

from bs4 importBeautifulSoupimportrequestsimportos,re,timeimporturllib3from win32com.client importDispatchclassDownloadVideo: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]#获取最新网址

defget_url(self):

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

a=self.r.get('https://www.k58.com',verify=False)

b=a.urlreturnb#几页内容的网址

defurl_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

#分别加载每一个页内容的网址

defdownload_url1(self):for j inself.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 insp2:

url1=re.findall('

u=self.url+url1[0]

self.download_urla.append(u)#分别获取各个视频的下载链接

defdownload_url2(self):for i inself.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 insp2:

url2=j["data-clipboard-text"]

self.download_urlb.append(url2)#将链接写入txt中

#self.write_txt(url2)

#迅雷下载

defthunder_download(self):try:

thunder= Dispatch("ThunderAgent.Agent64.1")for i inself.download_urlb:

thunder.AddTask(i)

thunder.CommitTasks()

time.sleep(2)except:print("请下载迅雷,并在其设置中心的下载管理中设置为一键下载")defmkdir(self,path):

folder=os.path.exists(path)if notfolder:

os.makedirs(path)else:pass

defwrite_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()#数字表示几页的内容

d.url_set1(5)

d.download_url1()

d.download_url2()

d.thunder_download()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值