提交 Dataify YouTube 音频文件 URL 构建器任务。用于用户需要使用 YouTube 音频文件收集工具,收集 YouTube 音频文件,爬取...
以 URL 方式将 YouTube 音频数据化是一项面向实际任务的技能,主要用于以 URL 方式通过 Datafy 构建器 提交到下;在成功提交后, 将任务 id 交给用户, 返回或推断为 statu。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过 Dataify Builder 的 URL 功能提交 YouTube 音频文件采集任务。成功提交后,向用户提供 task_id、返回或推断出的状态,并告知其访问 Dataify 查看结果。
使用 DATAIFY_API_TOKEN 作为长期保存的令牌名称。
DATAIFY_API_TOKEN。DATAIFY_API_TOKEN 已在本地保存,则直接使用,无需提示用户重新输入令牌。DATAIFY_API_TOKEN 时,询问其是否希望将该令牌以 DATAIFY_API_TOKEN 名称本地保存供后续使用。API TOKEN 表述;本地保存场景优先使用环境变量名 DATAIFY_API_TOKEN。PowerShell 中为当前会话保存令牌的示例:
$env:DATAIFY_API_TOKEN = "YOUR_DATAIFY_API_TOKEN"
在 Windows 上设置持久化的用户级环境变量:
[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "YOUR_DATAIFY_API_TOKEN", "User")
Label 和 Value 两列。使用命令 scripts/submit_dataify_youtube_audio_by_url.py --list-options 输出完整的下拉选项表。url 值。url 值规范化为 spider_parameters 对象列表。bitrate、audio_format、subtitles_language、kilohertz、is_subtitles 和 selected_only 规范化为一个共享的 spider_universal 对象。DATAIFY_API_TOKEN 中解析 Dataify 令牌。DATAIFY_API_TOKEN。data.task_id,并在响应中存在时读取 data.status 或 status。当用户调用本技能时,首先告知其以下参数将被使用。始终以 Markdown 表格形式展示已提交参数;禁止使用纯文本句子或项目符号列表进行参数确认。
| 字段 | 是否必需 | 默认值 | 位置 | 说明 |
|---|---|---|---|---|
url |
是 | https://www.youtube.com/watch?v=_SdpvpvVrLY |
spider_parameters |
待采集的 YouTube URL。 |
kilohertz |
否 | 48000(默认带 <=) |
spider_universal |
下拉式共享参数。需询问用户该值应为“大于等于”还是“小于等于”所选数值;默认提交为 <=48000。 |
audio_format |
否 | opus |
spider_universal |
下拉式共享参数。音频格式:可选 opus 或 m4a。 |
bitrate |
否 | 320(默认带 <=) |
spider_universal |
下拉式共享参数。需询问用户该值应为“大于等于”还是“小于等于”所选数值;默认提交为 <=320。 |
subtitles_language |
否 | ab |
spider_universal |
下拉式共享参数。字幕语言。 |
is_subtitles |
否 | false |
spider_universal |
共享参数。是否包含字幕。 |
selected_only |
否 | false |
spider_universal |
下拉式共享参数。是否仅使用所选规格。 |
file_name |
否 | {{TasksID}} |
Builder 表单字段 | 用户未修改时使用默认值。 |
随后询问:“您是否要在提交任务前修改其中任意值?”
同时询问:“您是否要采集多个 YouTube 音频文件?若是,请提供多个 url 值。”
对于 kilohertz 和 bitrate,需询问用户所选值应采用 <= 还是 >=;若用户未指定方向,默认采用 <=。
若用户已提供部分参数值,则在参数确认表中显示这些值,仅就剩余未提供或使用默认值的参数询问是否需要修改。
在请用户选择下拉值之前,须以 Markdown 表格形式完整列出所有允许选项,表格须包含 Label 和 Value 两列。
使用以下命令打印完整选项表:
python3 ".scriptssubmit_dataify_youtube_audio_by_url.py" --list-options
若系统中不可用 python3,请使用该机器上可用的 Python 3 命令(例如 python)。
该脚本将输出:
kilohertz 可选项。kilohertz_direction 可选项。audio_format 可选项。bitrate 可选项。bitrate_direction 可选项。subtitles_language 可选项,其中 Label 字段使用提供的 cn 值,Value 字段使用 typeValue 值。is_subtitles 可选项。selected_only 可选项。url 为必需参数。若用户未提供,仅在参数确认表中展示后才使用默认值 https://www.youtube.com/watch?v=_SdpvpvVrLY。url 前后空白字符。url 不得为空。url 必须以 https://www.youtube.com/ 开头。spider_parameters 内重复 url 字段。bitrate、audio_format、subtitles_language、kilohertz、is_subtitles 和 selected_only 为共享参数,须统一置于 spider_universal 中,不得放入每个 spider_parameters 对象内。kilohertz 默认值为 48000,kilohertz_direction 默认值为 <=;提交时组合为 <=48000。bitrate 默认值为 320,bitrate_direction 默认值为 <=;提交时组合为 <=320。audio_format 默认值为 opus;允许值为 opus 和 m4a。subtitles_language 默认值为 ab。is_subtitles 默认值为 false。selected_only 默认值为 false。file_name 默认值为 {{TasksID}};若用户修改,则提交其提供的值。file_name 不得为空。单组采集示例:
spider_parameters=[{"url":"https://www.youtube.com/watch?v=_SdpvpvVrLY"}]
spider_universal={"bitrate":"<=320","audio_format":"opus","subtitles_language":"ab","kilohertz":"<=48000","is_subtitles":"false","selected_only":"false"}
多组采集示例:
spider_parameters=[{"url":"https://www.youtube.com/watch?v=_SdpvpvVrLY"},{"url":"https://www.youtube.com/watch?v=_SdpvpvVrLY"}]
spider_universal={"bitrate":"<=320","audio_format":"opus","subtitles_language":"ab","kilohertz":"<=48000","is_subtitles":"false","selected_only":"false"}
使用表单字段而非手动构造的 URL 编码字符串。
https://scraperapi.dataify.com/builder?platform=1POSTBearer DATAIFY_API_TOKENapplication/x-www-form-urlencodedspider_name=youtube.comspider_id=youtube_audio_by-urlspider_errors=truefile_name={{TasksID}}spider_parameters 必须为 JSON 字符串数组,元素为 URL 对象。spider_universal 必须为 JSON 字符串对象,包含共享音频设置。为确保稳定执行,建议优先使用 Python 3.6 或更高版本运行 scripts/submit_dataify_youtube_audio_by_url.py,而非重写 Builder 流程。
python3 ".scriptssubmit_dataify_youtube_audio_by_url.py" --url "https://www.youtube.com/watch?v=_SdpvpvVrLY"
如需为单次运行覆盖已保存的环境令牌或默认共享参数:
python3 ".scriptssubmit_dataify_youtube_audio_by_url.py" --api-token "YOUR_DATAIFY_API_TOKEN" --url "https://www.youtube.com/watch?v=_SdpvpvVrLY" --kilohertz "48000" --kilohertz-direction "<=" --audio-format "opus" --bitrate "320" --bitrate-direction "<=" --subtitles-language "ab" --is-subtitles "false" --selected-only "false" --file-name "{{TasksID}}"
提交多个 URL:
python3 ".scriptssubmit_dataify_youtube_audio_by_url.py" --params-json '[{"url":"https://www.youtube.com/watch?v=_SdpvpvVrLY"},{"url":"https://www.youtube.com/watch?v=_SdpvpvVrLY"}]'
脚本将输出包含 task_id、status、parameters、spider_universal、file_name、dashboard_url 和 message 的 JSON 汇总信息。
Missing Dataify API TOKEN 表示未显式传入令牌,且本地未保存 DATAIFY_API_TOKEN。此时应告知用户需提供其 Dataify API TOKEN,询问是否要将其保存为 DATAIFY_API_TOKEN,或告知其可前往 Dataify 注册或登录获取。若用户已有令牌,应告知其位于 Dataify 页面右上角。
url cannot be empty 表示必需的 YouTube URL 缺失。
url must start with https://www.youtube.com/ 表示 URL 不在允许的 YouTube 域名范围内。
Unsupported kilohertz、Unsupported audio_format、Unsupported bitrate、Unsupported subtitles_language、Unsupported is_subtitles 或 Unsupported selected_only 表示该值不属于允许的下拉选项之一。
Unsupported kilohertz_direction 或 Unsupported bitrate_direction 表示该值必须为 <= 或 >=。
File name cannot be empty 表示未提供有效的 file_name。
Necessary parameters is empty! 通常表示 Builder 请求未以表单字段方式提交、spider_parameters 未按 JSON 字符串数组格式提供、spider_universal 未按 JSON 字符串对象格式提供,或某个 spider_parameters 对象缺少 url 字段。
缺失 task_id 通常表示认证请求头、令牌、spider_name、spider_id、spider_parameters 或 spider_universal 存在错误。
bitrate、audio_format、subtitles_language、kilohertz、is_subtitles 或 selected_only 放入 spider_parameters 中。spider_universal。API TOKEN 和 DATAIFY_API_TOKEN。