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 相关文章推荐
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
浅谈flask源码之请求过程
Jul 26 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
简单了解python协程的相关知识
Aug 31 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
Python爬取365好书中小说代码实例
Feb 28 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
不到20行实现Python代码即可制作精美证件照
Apr 24 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 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基础知识介绍
2013/09/17 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
网站上面有这种切换效果
2006/06/26 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
微信小程序如何实现在线客服功能
2019/10/16 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python字典遍历操作实例小结
2019/03/05 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
医药大学生求职简历的自我评价
2013/10/17 职场文书
关于旷工的检讨书
2014/02/02 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
就业意向书范文
2014/04/01 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL