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


Posted in Python onFebruary 20, 2021

把获取到的下载视频的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 相关文章推荐
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
django如何自己创建一个中间件
Jul 24 Python
详解如何减少python内存的消耗
Aug 09 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
自学python用什么系统好
Jun 23 Python
python tkinter实现下载进度条及抖音视频去水印原理
Feb 07 Python
python中sys模块的介绍与实例
Apr 17 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 #Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 #Python
Keras保存模型并载入模型继续训练的实现
Feb 20 #Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 #Python
tensorflow2.0教程之Keras快速入门
Feb 20 #Python
在Pycharm中安装Pandas库方法(简单易懂)
Feb 20 #Python
Python3爬虫RedisDump的安装步骤
Feb 20 #Python
You might like
php你的验证码安全码?
2007/01/02 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
基于node实现websocket协议
2016/04/25 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python引用计数操作示例
2018/08/23 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
html5 标签
2009/07/16 HTML / CSS
历史专业个人求职信分享
2013/12/20 职场文书
安全责任协议书
2014/04/21 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
优秀创业计划书分享
2019/07/19 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript