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的Supervisor进行进程监控以及自动启动
May 29 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
使用C++扩展Python的功能详解
Jan 12 Python
django的登录注册系统的示例代码
May 14 Python
python实现函数极小值
Jul 10 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
python协程gevent案例 爬取斗鱼图片过程解析
Aug 27 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
pytorch SENet实现案例
Jun 24 Python
python判断是空的实例分享
Jul 06 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 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
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
django之常用命令详解
2016/06/30 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
python openCV自制绘画板
2020/10/27 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
Solaris操作系统的线程机制
2012/12/23 面试题
公司出纳岗位职责
2013/12/07 职场文书
士力架广告词
2014/03/20 职场文书
我的中国梦口号
2014/06/16 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
2015年元旦标语大全
2014/12/09 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
Python机器学习之基础概述
2021/05/19 Python
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
Java线程的6种状态与生命周期
2022/05/11 Java/Android