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 25 Python
Python下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
python实现逻辑回归的方法示例
May 02 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
Python3学习urllib的使用方法示例
Nov 29 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
pytorch 模型可视化的例子
Aug 17 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
五分钟学会怎么用python做一个简单的贪吃蛇
Jan 12 Python
Python可视化学习之seaborn调色盘
Feb 24 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
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
用PHP代码给图片加水印
2015/07/01 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
wxPython窗口中文乱码解决方法
2014/10/11 Python
Python中的id()函数指的什么
2017/10/17 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
德国电子商城:ComputerUniverse
2017/04/21 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
开学季活动策划方案
2014/02/28 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
2015年药房工作总结
2015/04/25 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers