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中List.count()方法的使用教程
May 20 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
Python中字符串List按照长度排序
Jul 01 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
Python 获取项目根路径的代码
Sep 27 Python
Python中的sys.stdout.write实现打印刷新功能
Feb 21 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
python爬取音频下载的示例代码
Oct 19 Python
python解压zip包中文乱码解决方法
Nov 27 Python
浅谈哪个Python库才最适合做数据可视化
Jun 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
社区(php&amp;&amp;mysql)一
2006/10/09 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
jquery 使用简明教程
2014/03/05 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Python爬虫文件下载图文教程
2018/12/23 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
python编写计算器功能
2019/10/25 Python
学习python需要有编程基础吗
2020/06/02 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
python 实现简易的记事本
2020/11/30 Python
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
院药学专业个人求职信
2013/09/21 职场文书
25岁生日感言
2014/01/13 职场文书
茶叶店创业计划书范文
2014/01/19 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
小学安全教育主题班会
2015/08/12 职场文书
小学副班长竞选稿
2015/11/21 职场文书
《三国志》赏析
2019/08/27 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电