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的Django框架来制作一个RSS阅读器
Jul 22 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Flask之flask-session的具体使用
Jul 26 Python
Python实现微信小程序支付功能
Jul 25 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
python实时监控logstash日志代码
Apr 27 Python
解决Python安装cryptography报错问题
Sep 03 Python
python如何实时获取tcpdump输出
Sep 16 Python
pycharm配置安装autopep8自动规范代码的实现
Mar 02 Python
深度学习详解之初试机器学习
Apr 14 Python
Python上下文管理器Content Manager
Jun 26 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 面向对象 final类与final方法
2010/05/05 PHP
PHP Session机制简介及用法
2014/08/19 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Python3几个常见问题的处理方法
2019/02/26 Python
Python数据存储之 h5py详解
2019/12/26 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
创先争优活动方案
2014/02/12 职场文书
实习科室评语
2015/01/04 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
鲁冰花观后感
2015/06/10 职场文书
让子弹飞观后感
2015/06/11 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js