python爬虫爬取某网站视频的示例代码

 更新时间:2021年02月20日 09:58:23   作者:badbadboy  
这篇文章主要介绍了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="(.*?)" 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("请下载迅雷,并在其设置中心的下载管理中设置为一键下载")

  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爬虫爬取某网站视频的示例代码的文章就介绍到这了,更多相关python爬虫爬取网站视频内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python标准库之time模块的语法与简单使用

    python标准库之time模块的语法与简单使用

    在平常的代码中,我们常常需要与时间打交道,那么在Python中,与时间处理有关的模块就包括:time、datetime以及calendar,这篇文章主要给大家介绍了关于python标准库之time模块的语法与使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • Python模拟简单电梯调度算法示例

    Python模拟简单电梯调度算法示例

    这篇文章主要介绍了Python模拟简单电梯调度算法,涉及Python线程、队列、时间延迟等相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • Python正则获取、过滤或者替换HTML标签的方法

    Python正则获取、过滤或者替换HTML标签的方法

    这篇文章主要介绍了Python通过正则表达式获取、过滤或者替换HTML标签的方法,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Python Flask框架扩展操作示例

    Python Flask框架扩展操作示例

    这篇文章主要介绍了Python Flask框架扩展操作,结合实例形式分析了Python Flask-Script扩展命令行操作实现方法,需要的朋友可以参考下
    2019-05-05
  • Python使用type关键字创建类步骤详解

    Python使用type关键字创建类步骤详解

    在本文里我们给读者们整理了关于Python如何使用type关键字创建类的相关知识点,需要的朋友们参考学习下。
    2019-07-07
  • python Elasticsearch索引建立和数据的上传详解

    python Elasticsearch索引建立和数据的上传详解

    在本篇文章里小编给大家整理的是关于基于python的Elasticsearch索引的建立和数据的上传的知识点内容,需要的朋友们参考下。
    2019-08-08
  • 老生常谈python中的重载

    老生常谈python中的重载

    所谓重载,就是多个相同函数名的函数,根据传入的参数个数,参数类型而执行不同的功能。所以函数重载实质上是为了解决编程中参数可变不统一的问题。这篇文章主要介绍了老生常谈python中的重载,需要的朋友可以参考下
    2018-11-11
  • Python plt.imshow函数及其参数使用

    Python plt.imshow函数及其参数使用

    plt.imshow()是Matplotlib库中的一个函数,主要用于显示图像或矩阵数据,本文主要介绍了Python plt.imshow函数及其参数使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 解决一个pandas执行模糊查询sql的坑

    解决一个pandas执行模糊查询sql的坑

    这篇文章主要介绍了解决一个pandas执行模糊查询sql的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 实例讲解python中的序列化知识点

    实例讲解python中的序列化知识点

    本篇文章通过代码实例给大家详细分享了关于python中的序列化知识点内容,有兴趣的朋友们可以学习下。
    2018-10-10

最新评论