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字典序问题实例
Sep 26 Python
Cpy和Python的效率对比
Mar 20 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
使用Python快速制作可视化报表的方法
Feb 03 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
Django如何使用redis作为缓存
May 21 Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
详解php的socket通信
2015/08/11 PHP
[JS]点出统计器
2020/10/11 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
详解JS函数防抖
2020/06/05 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
python和php学习哪个更有发展
2020/06/17 Python
Python列表推导式实现代码实例
2020/09/09 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
如何实现一个自定义类的序列化
2012/05/22 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
父母对孩子说的话
2014/04/12 职场文书
小浪底导游词
2015/02/12 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python