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的Tornado框架的HTTP客户端的教程
Apr 24 Python
在Python中操作字典之clear()方法的使用
May 21 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
Django中login_required装饰器的深入介绍
Nov 24 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
Django  ORM 练习题及答案
Jul 19 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
Django如何使用jwt获取用户信息
Apr 21 Python
Python基于wordcloud及jieba实现中国地图词云图
Jun 09 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
IE与firefox之jquery用法区别
2008/10/03 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
HTML的select控件美化
2017/03/27 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
一套带网友答案的.NET笔试题
2016/12/06 面试题
临床医学专业毕业生的自我评价
2013/10/17 职场文书
团员个人的自我评价
2013/12/02 职场文书
安全教育月活动总结
2014/05/05 职场文书
爱护公物演讲稿
2014/09/09 职场文书
2015年社区民政工作总结
2015/04/21 职场文书