python爬虫:爬取某网站视频

把获取到的下载视频的url存放在数组中(也可写入文件中),通过调用迅雷接口,进行自动下载。(请先下载迅雷,并在其设置中心的下载管理中设置为一键下载)

实现代码如下:

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]
    #获取最新网址
    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
    #几页内容的网址
    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
    #分别加载每一个页内容的网址
    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="(.*?)"\',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("请下载迅雷,并在其设置中心的下载管理中设置为一键下载")

    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()
    #数字表示几页的内容
    d.url_set1(5)
    d.download_url1()
    d.download_url2()
    d.thunder_download()

python编程icon-default.png?t=LA92https://edu.csdn.net/course/detail/36170

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

传说三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值