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如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
Python中的Numpy矩阵操作
Aug 12 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
对python3 sort sorted 函数的应用详解
Jun 27 Python
Python面向对象之Web静态服务器
Sep 03 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
python实现自定义日志的具体方法
May 28 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
桌面中心(三)修改数据库
2006/10/09 PHP
用PHP实现Ftp用户的在线管理的代码
2007/03/06 PHP
apache rewrite_module模块使用教程
2008/01/10 PHP
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
python实现逆波兰计算表达式实例详解
2015/05/06 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python如何查看微信消息撤回
2018/11/27 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
python验证码图片处理(二值化)
2019/11/01 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
Android本地应用打开方法——通过html5写连接
2016/03/11 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
广告艺术设计专业自荐书
2014/07/08 职场文书
云台山导游词
2015/02/03 职场文书
小学六一主持词开场白
2015/05/28 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript