使用豆包多模态API(doubao-seed-1-8模型)分析小红书视频内容pyhton代码

爬虫任务

有一个爬取小红书上视频内容并且分析的任务,下面是一个简单可以运行的demo。

注意加载环境变量,这里的.env表示读取相同路径下.env里面的ARK_API_KEY

c 复制代码
import os
from volcenginesdkarkruntime import Ark
from dotenv import load_dotenv

# 加载环境变量
env_path = os.path.join(os.path.dirname(__file__), '.env')
load_dotenv(env_path)

# 初始化豆包客户端
client = Ark(
    base_url='https://ark.cn-beijing.volces.com/api/v3',
    api_key=os.getenv('ARK_API_KEY'),
)

# 测试视频URL
video_url = "http://sns-video-hs.xhscdn.com/stream/1/110/259/01e95ce6da070f66010370039b92e65e08_259.mp4"

response = client.responses.create(
    model="doubao-seed-1-8-251228",
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_video",
                    "video_url": video_url,
                    "fps": 1
                },
                {
                    "type": "input_text",
                    "text": "请详细描述这个视频的内容。"
                }
            ],
        }
    ]
)

print("=" * 80)
print("响应对象类型:", type(response))
print("=" * 80)
print("\n响应对象属性:")
for attr in dir(response):
    if not attr.startswith('_'):
        try:
            value = getattr(response, attr)
            if not callable(value):
                print(f"  {attr}: {type(value).__name__} = {value}")
        except:
            pass

print("\n" + "=" * 80)
print("response.output 结构:")
print("=" * 80)
if hasattr(response, 'output') and response.output:
    print(f"output 类型: {type(response.output)}")
    print(f"output 长度: {len(response.output)}")
    
    for i, item in enumerate(response.output):
        print(f"\noutput[{i}] 类型: {type(item)}")
        print(f"output[{i}] 属性:")
        for attr in dir(item):
            if not attr.startswith('_'):
                try:
                    value = getattr(item, attr)
                    if not callable(value):
                        print(f"    {attr}: {type(value).__name__} = {value}")
                except:
                    pass
        
        if hasattr(item, 'content') and item.content:
            print(f"\n  content 类型: {type(item.content)}")
            print(f"  content 长度: {len(item.content)}")
            for j, content_item in enumerate(item.content):
                print(f"\n  content[{j}] 类型: {type(content_item)}")
                print(f"  content[{j}] 属性:")
                for attr in dir(content_item):
                    if not attr.startswith('_'):
                        try:
                            value = getattr(content_item, attr)
                            if not callable(value):
                                print(f"      {attr}: {type(value).__name__} = {value}")
                        except:
                            pass
else:
    print("response.output 为空或不存在")

print("\n" + "=" * 80)
print("尝试提取文本:")
print("=" * 80)
try:
    if response.output and len(response.output) > 0:
        output_msg = response.output[0]
        if hasattr(output_msg, 'content') and output_msg.content:
            for content in output_msg.content:
                if hasattr(content, 'text'):
                    print(f"找到文本: {content.text[:200]}...")
                    break
except Exception as e:
    print(f"提取失败: {e}")

提取的内容为:

output1 类型: <class 'volcenginesdkarkruntime.types.responses.response_output_message.ResponseOutputMessage'>

output1 属性:

content: list = ResponseOutputText(type='output_text', text='这个视频是小红书平台的趣味内容,围绕"图书馆的桌子怎么搬进来"展开,内容分段如下:\\n\\n0-4秒:画面呈现图书馆学习区域,前景是摆满学习用品的桌面------写有笔记的本子、黄色边框平板、咖啡杯、卡通图案笔筒、白色鼠标等,背景有一位女生在整理物品;配文和顶部标题接连抛出疑问:"你们说图书馆这么多张桌子""真的是一张一张搬进来的吗?""图书馆这么多桌子咋搬进来的"。\\n\\n5-6秒:切换到评论区,展示第一条网友评论:"不学你就回宿舍",发布地为山东,获2091个赞,可展开81条回复,下方同步配有对应字幕。\\n\\n7-9秒:展示第二条评论:"不想学把手机电脑平板充满电就回宿舍吧"(附带彩虹表情),发布地为上海,获5.4万赞,可展开625条回复;中间插入吐舌头的猫猫表情包,配文字"嘿嘿嘿",呼应评论的调侃语气。\\n\\n10-13秒:展示第三条评论:"宿舍门这么小 床又是怎么搬进来的"(搭配带问号的白色小人表情包),发布地为广东,获2164个赞;下方还有一条搞笑回复:"床小时候搬进来的",延续趣味调侃的风格。\\n\\n14-17秒:展示第四条评论:"搬一个,然后啃臭加v啃臭加c复制粘贴",是电脑快捷键"Ctrl+C、Ctrl+V"的谐音梗,发布地为湖北,获2442个赞,可展开46条回复;最后画面是两个紧挨的仓鼠脸表情包,右上角配有红色问号图案,为视频收尾,强化搞笑氛围。\\n\\n整个视频通过"提出疑问+展示神评论"的形式,借网友的幽默回复制造笑点,风格轻松有趣。', annotations=None)

id: str = msg_02176839283688100000000000000000000ffffac1531daa551d8

model_computed_fields: dict = {}

model_config: dict = {'extra': 'allow', 'defer_build': True, 'protected_namespaces': ()}

model_extra: dict = {}

后记

2026年1月14日于上海,周三。

相关推荐
Litluecat5 分钟前
2026年6月1日科技热点新闻
大数据·人工智能·科技·推荐·热点·新闻·每日
志栋智能21 分钟前
AI驱动无代码:降低巡检超自动化的门槛
大数据·运维·网络·人工智能·自动化
qcx2327 分钟前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
Black蜡笔小新34 分钟前
自动化AI算法训练服务器DLTM制造业AI质检工作站助力制造业实现AI智检
人工智能·算法·自动化
川冰ICE38 分钟前
⑮ AI音乐与音频:工具详解与创作流程
人工智能·音视频
米小虾44 分钟前
2026 年多模态大模型全面爆发:从「看懂图」到「听懂世界」的技术跃迁
人工智能
米小虾1 小时前
AI Agent 进入协议时代:MCP、A2A、AG-UI 三大协议全景解析
人工智能·agent
蝎子莱莱爱打怪1 小时前
🚀 🚀🚀2026年5月GitHub月榜精选:17个项目中挑出10个推荐,实操4个!
人工智能·后端·ai编程
升鲜宝供应链及收银系统源代码服务1 小时前
升鲜宝AI助手项目源码集成开发步骤(一)---升鲜宝生鲜配送供应链管理系统源代码服务
人工智能·生鲜配送系统·生鲜物流线路规划·生鲜电商订单系统·生鲜供应链系统·生鲜系统架构设计·生鲜配送ai功能集成
yjcode7891 小时前
探索游戏充值新纪元:友价源码技术革新之旅
大数据·人工智能·游戏·游戏交易