用Python做一个哔站小姐姐词云跳舞视频

yizhihongxing

下面是用Python做一个哔站小姐姐词云跳舞视频的完整攻略:

准备工作

  1. 安装Python,下载地址:https://www.python.org/downloads/ 。
  2. 安装必要的库,如jieba、wordcloud、numpy等。
    pip install jieba
    pip install wordcloud
    pip install numpy

步骤一:获取数据

  1. 打开哔站网站,找到你想制作词云的小姐姐的主页;
  2. 在浏览器中按F12进入开发者模式,分析该页面,找到抓取该小姐姐发布的所有动态的接口,例如:
    https://api.bilibili.com/x/space/arc/search?mid=XXXX&pn=1&ps=25&jsonp=jsonp&order=pubdate&callback=__jp1

其中mid为该小姐姐的用户id。我们需要抓取的是data部分的所有数据;

  1. 使用Python的requests库抓取该接口的数据,并保存到本地文件中,示例代码如下:

```python
import requests

url = 'https://api.bilibili.com/x/space/arc/search?mid=XXXX&pn=1&ps=25&jsonp=jsonp&order=pubdate&callback=__jp1'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
with open('data.json', 'w', encoding='utf-8') as f:
f.write(response.text.lstrip(' \n\t(').rstrip(');'))
```

步骤二:数据处理和分析

  1. 读取data.json文件,并解析数据;
  2. 提取出该小姐姐发布过的所有动态的文本信息;
  3. 使用jieba库进行中文分词,并统计每个词出现的频率;
  4. 使用wordcloud库生成词云图,并保存到本地文件中,示例代码如下:

```python
import json
import jieba
import numpy as np
from PIL import Image
from wordcloud import WordCloud

with open('data.json', 'r', encoding='utf-8') as f:
content = f.read()

str_data = json.loads(content)['data']['list']
text = ""
for data in str_data:
text += data['title'] + " "

cut_text = jieba.cut(text)
result = " ".join(cut_text)

mask = np.array(Image.open('girl.png'))
wordcloud = WordCloud(
font_path='msyh.ttc',
background_color='white',
mask=mask
).generate(result)

wordcloud.to_file('girl_wordcloud.png')
```

步骤三:视频制作

  1. 使用moviepy库创建一个用于跳舞的小姐姐的视频素材;
  2. 将步骤二生成的词云图嵌入到视频中;
  3. 将小姐姐的视频和词云视频合并,生成最终的视频,示例代码如下:

```python
import moviepy.editor as mpe

video = mpe.VideoFileClip('girl.mp4')
duration = video.duration

wordcloud_clip = mpe.ImageClip('girl_wordcloud.png').set_duration(duration-1)
wordcloud_clip = wordcloud_clip.resize(width=int(video.w * 3/4)).set_pos('center')

final = mpe.CompositeVideoClip([video, wordcloud_clip])
final.write_videofile('girl_wordcloud_video.mp4', fps=30)
```

至此,用Python做一个哔站小姐姐词云跳舞视频就完成了。

示例说明1:
如果想制作其他小姐姐的词云跳舞视频,只需要修改步骤一中的接口链接和该小姐姐的用户id即可。如下所示:

url = 'https://api.bilibili.com/x/space/arc/search?mid=XXXX&pn=1&ps=25&jsonp=jsonp&order=pubdate&callback=__jp1'

示例说明2:
如果想修改词云图的形状,可以使用不同形状的图片作为mask。注意,图片需要是黑白色的才能正确制作词云,示例代码如下:

mask = np.array(Image.open('girl.png'))
wordcloud = WordCloud(
   font_path='msyh.ttc',
   background_color='white',
   mask=mask
).generate(result)

其中,girl.png就是用于生成词云图的mask图片。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Python做一个哔站小姐姐词云跳舞视频 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python通过http下载文件的方法详解

    在Python中,我们可以使用urllib库或requests库来通过HTTP下载文件。下载文件时,我们需要注意文件的大小和下载进度,以便正确地下载文件。本文将通过实例讲解如何使用Python通过HTTP下载文件,包括使用urllib库和requests库,以及两个示例。 使用urllib库下载文件 我们可以使用urllib库的urlretrieve方法来下…

    python 2023年5月15日
    00
  • Python tkinter中label控件动态改变值问题

    讲解一下“Python tkinter中label控件动态改变值问题”的完整攻略。 1.问题描述 当我们使用Python tkinter库创建GUI窗口应用程序时,有时需要在应用程序中使用label控件来显示一些文本信息。需要动态更新label控件中的值时,有时可能会遇到困难。 2.解决方法 为了动态改变label控件的值,我们可以使用tkinter.Str…

    python 2023年6月3日
    00
  • 在DOS界面如何运行python的py文件

    在DOS界面下,要想运行Python程序文件,需要先安装Python,并配置环境变量。下面是具体的步骤: 步骤一:安装Python 首先,在官网上下载安装Python,这里以Python 3.9版本为例。下载地址为:https://www.python.org/downloads/。 在Windows系统下,可选择msi格式的安装包,双击运行,按照提示一步一…

    python 2023年5月18日
    00
  • python使用xlrd模块读取excel的方法实例

    下面我将给出一个详细的 python 使用 xlrd 模块读取 Excel 的方法实例教程,包含以下内容: 安装 xlrd 模块 读取 Excel 文件基本信息 读取数据 Excel 中含有多个工作表的处理方法 首先,我们需要安装 xlrd 模块。可以使用 pip 命令在命令行终端直接安装: pip install xlrd 安装完成后,我们先来看看如何读取…

    python 2023年5月13日
    00
  • Django笔记三十之log日志记录详解

    本文首发于公众号:Hunter后端原文链接:Django笔记三十之log日志的记录详解 这一节介绍在 Django 系统里使用 logging 记录日志 以下是一个简单的 logging 模块示例,可以先预览一下,接下来会详细介绍各个模块的具体功能: LOGGING = { ‘version’: 1, ‘disable_existing_loggers’: …

    python 2023年4月25日
    00
  • 如何让python的运行速度得到提升

    提升Python运行速度的攻略: 使用更高效的算法和数据结构 对于相同的问题,使用不同的算法和数据结构可以对 Python 的运行速度有显著的影响。任何时候,当我们需要处理大量数据时,都需要牢记这一点。以下这些算法和数据结构可以帮助提高 Python 的程序的运行速度: 二分查找:二分查找比线性查找要快得多,因为它的时间复杂度是O(log n)。在输入数据量…

    python 2023年5月18日
    00
  • 使用 Python 合并多个格式一致的 Excel 文件(推荐)

    下面是使用Python合并多个格式一致的Excel文件的完整实例教程。 环境准备 在进行本例子之前,请确保已经安装 Python 和 Pandas 库。 步骤一:导入必要的库 在此之前,你需要了解 Pandas 模块。 Pandas 是一个数据分析的 Python 库, 它可以用来清洗、处理和分析数据。 import pandas as pd import …

    python 2023年5月14日
    00
  • python中getopt()函数用法详解

    Python中getopt()函数用法详解 简介 getopt 是 Python 标准库中的一个模块,它提供了解析命令行参数的功能。可以帮助我们轻松地从命令行中获取参数并进行解析,实现自己定义的功能。 函数签名 getopt.getopt(args, shortopts, longopts=[]) getopt 函数接受三个参数: args:要分析的命令行参…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部