首页 > 编程语言 >简单的用Python爬取虎牙舞蹈区视频,真让人看了脸红~

简单的用Python爬取虎牙舞蹈区视频,真让人看了脸红~

时间:2023-11-16 21:55:05浏览次数:33  
标签:视频 虎牙 Python 爬取 url json video requests 数据

表弟自从学会了Python,每天一回家就搁那爬视频,不知道的以为是在学习,结果我昨天好奇看了一眼,好家伙,在那爬某牙舞蹈区,太过分了!

为了防止表弟做坏事,我连忙找了个凳子坐下,跟他一起欣赏~

啊呸,不对,监督他!

当然,作为一个大公无私的人,好东西怎么能独享呢?

这不立马就给大家分享一下~

准备工作

首先我们需要准备这些

软件模块

软件

  • Python 3.10 解释器
  • Pycharm 编辑器

模块

  • requests # 数据请求
  • re # 正则表达式模块

requests是第三方模块,win + R 输入cmd 输入安装命令 pip install requests 安装即可,re 是自带的模块,无需安装。

实现思路与流程

一. 数据来源分析

1. 明确需求: 明确采集的网站以及数据内容
    - 网址: https://www.huya.com/video/play/933940354.html
    - 数据: 视频标题 / 视频内容 <主要数据>
2. 抓包分析: 浏览器开发者工具去抓包
    - 打开开发者工具: F12 / 右键点击检查选择network (网络)
    - 刷新网页: 网页相关数据内容
    - 通过关键字去搜索找到对应的数据包位置
        搜索: M3U8 -> getMomentContent
        数据包地址: https://liveapi.huya.com/moment/getMomentContent

二. 代码实现步骤

1. 发送请求 -> 模拟浏览器对于url地址发送请求
2. 获取数据 -> 获取服务器返回响应数据
3. 解析数据 -> 提取视频标题 / 链接
4. 保存数据 -> 获取视频数据保存本地文件夹里面

源码展示

发送请求 -> 模拟浏览器对于url地址发送请求

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
}
url = f'https://liveapi.huya.com/moment/getMomentContent?videoId=904494849&uid=&_=1700050245436'
# 发送请求
response = requests.get(url=url, headers=headers)

 

获取数据 -> 获取服务器返回响应数据

json_data = response.json() # json() 括号里面不需要加东西

 

解析数据 -> 提取视频标题 / 链接

# 提取标题
title = json_data['data']['moment']['title']
# 提取视频链接
video_url = json_data['data']['moment']['videoInfo']['definitions'][0]['url']

 

保存数据 -> 获取视频数据保存本地文件夹里面

video_content = requests.get(url=video_url, headers=headers).content
with open('video\\' + title + '.mp4', mode='wb') as f:
    # 写入数据
    # 源码自取扣裙 279199867
    f.write(video_content)
print(title, video_url)

 

完整源码和视频讲解我都打包好了,代码中有关键字自取~

 

效果展示

播放效果我就不展示了,影响不好,大家自行观看~

 

好了,本次的分享就到这结束了,咱们下次见!

标签:视频,虎牙,Python,爬取,url,json,video,requests,数据
From: https://www.cnblogs.com/hahaa/p/17837368.html

相关文章

  • 盘点一个Python自动化办公需求之word文档图片自动插入
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。下面还给出了他的代码。二、实现过程这里【瑜亮老师】给了一个思路:如下所示:顺着这个思路,粉丝写了一份代码,但是在循环部分好像还存在些问题。后来【瑜亮老师......
  • Python人工智能代码
    这是一个人工智能代码算了,不说了,直接上代码!(有错请指出)whileTrue:问题=input()回答=问题.replace('吗','').replace('?','!')print(回答)第2种whileTrue:问题=input()回答=问题.replace('吗','').replace(�......
  • Python绘制神经网络模型的结构示意图的方法
      本文介绍基于Python语言,对神经网络模型的结构进行可视化绘图的方法。  最近需要进行神经网络结构模型的可视化绘图工作。查阅多种方法后,看到很多方法都比较麻烦,例如单纯利用graphviz模块,就需要手动用DOT语言进行图片描述,比较花时间;最终,发现利用第三方的ann_visualizer模块,可......
  • python向jpg图片添加经纬度信息
    importpiexiffromPILimportImage #ReadImagefname='Wide.JPG'img=Image.open(fname)exif_dict={"GPS":{}}exif_dict['GPS'][piexif.GPSIFD.GPSLongitude]=((180,1),(17,1),(532029,1))exif_dict['GPS'][......
  • # yyds干货盘点 # 盘点一个Python自动化办公需求之word文档图片自动插入
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。下面还给出了他的代码。三、总结大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公之word文档图片自动插入问题,文中针对该问题,给出了具体的解析和代码实现,帮助......
  • python 多版本管理pyenv和虚拟环境pipenv的使用方法
    1.安装linux下直接使用pipinstallpipenv/pyenvwindows下(windows环境笔记复杂,本文着重讲解windows环境下的多版本管理)在python的bin目录里面执行pipinstallpyenv-win--target[yourpathwheretostorepyenv]......
  • 深度学习笔记:搭建基于Python的tensorflow运行环境1
    使用python3命令创建tensorflow虚拟运行环境首先,在系统下创建python虚拟环境目录Venvs,本文我们设置的虚拟环境目录如下:C:\Users\wuchh\venvs,接下来打开cmd命令窗口进入创建的目录(C:\Users\wuchh\venvs)。在命令行窗口中,执行创建虚拟环境的python3命令,我们将创建一个名为......
  • python 处理html中 class中存在空格 获取问题
     html="""<h1class='tdp1'>0000000000000000000000000</h1><h1class='tdp2'>123333333333333333333</h1><h1class='p2'>111111111111111111111111111111111111<......
  • python windows环境自己的程序实现命令行补全/使用pyreadline实现(目前已知唯一方法,对p
    1.环境前提注意事项python3版本最好是3.10以下(理论上),最新版可能会有问题,本文使用python3.7.2版本本文环境是用pipenv加pyenv虚拟环境实现的,想了解的去我的主页搜素相关博文安装pyreadline(全平台通用win/linux)pipinstallpyreadline版本问题报错请参考:https://blog.csdn......
  • python—多线程之线程之间共享数据(Queue)
    Queue理解从一个线程向另一个线程发送数据最安全的方式可能就是使用queue库中的队列了。创建一个被多个线程共享的Queue对象,这些线程通过使用put()和get()操作来向队列中添加或者删除元素。Queue对象已经包含了必要的锁,所以你可以通过它在多个线程间多安全地共享数据。生产者和......