You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编写Discord机器人时如何实现随机返回Youtube搜索视频

修改方法
  • 第一步:在代码文件头部引入Python内置的随机模块
    引入代码:import random
  • 第二步:调整结果选取逻辑,将固定取第一个结果的写法替换为随机选取列表内的元素,同时建议增加空结果判断避免无搜索结果时触发程序异常。

修改后完整代码示例

import random
import urllib.parse
import urllib.request
import re

# 原有搜索逻辑不变
channel = bot.get_channel(901718257864691743)
query_string = urllib.parse.urlencode({'search_query': message.content})
htm_content = urllib.request.urlopen(
        'http://www.youtube.com/results?' + query_string)
search_results = re.findall(r'/watch\?v=(.{11})',
                                htm_content.read().decode())

# 新增空结果判断+随机选取逻辑
if search_results:
    random_video = random.choice(search_results)
    await channel.send('http://www.youtube.com/watch?v=' + random_video)
else:
    await channel.send('未搜索到对应内容')

实现说明

random.choice()是Python内置的随机方法,可以从传入的非空序列中随机返回一个元素,刚好满足随机选取一条搜索结果的需求。新增的空结果判断可以避免无匹配搜索内容时,程序取列表元素触发索引异常导致机器人崩溃。

内容的提问来源于stack exchange,提问作者Eternal Eternus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:36:01