用于 Dataify YouTube 视频帖子收集构建任务。当用户请求 YouTube 视频帖子收集工具或 YouTube 视频集合时触发。
Submit YouTube video post collection jobs through Dataify Builder and continue through final-result retrieval. This skill is a guided wrapper for six collection modes:
ModeCollector IDUse ForURLyoutube_video-post_by-urlCollecting video posts from a YouTube channel Videos URL.Search Filtersyoutube_video-post_by-search-filtersSearching video posts by keyword plus filters.Hashtagyoutube_video-post_by-hashtagCollecting video posts by hashtag.Podcast URLyoutube_video-post_by-podcast-urlCollecting video posts from a YouTube podcast or playlist URL.Keywordyoutube_video-post_by-keywordCollecting video posts by keyword.Exploreyoutube_video-post_by-exploreCollecting video posts from a YouTube Explore URL.
After submission, continue monitoring the returned task_id and return the final result by default.
Use DATAIFY_API_TOKEN as the long-term saved token name.
DATAIFY_API_TOKEN is saved locally, use it.API TOKEN in user-facing instructions. Prefer the environment variable name DATAIFY_API_TOKEN for saved local use.PowerShell examples for saving the token for the current session:
powershell
$env:DATAIFY_API_TOKEN = "YOUR_DATAIFY_API_TOKEN"
For a persistent user-level variable on Windows:
powershell
[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "YOUR_DATAIFY_API_TOKEN", "User")
Label and Value columns.spider_id.data.task_id from the Builder response and read data.status or status when present.When the user invokes this skill, first show this Markdown table and ask them to choose one mode:
LabelValueCollect video posts by channel Videos URLurlCollect video posts by search filterssearch_filtersCollect video posts by hashtaghashtagCollect video posts by podcast URLpodcast_urlCollect video posts by keywordkeywordCollect video posts by Explore URLexplore
Ask: "Which collection mode do you want to use?"
Do not submit a Builder request until the mode is clear.
file_name defaults to {{TasksID}}.file_name, submit the user-provided value.file_name cannot be empty.https://www.youtube.com.0.spider_parameters as a JSON string containing an array of one or more objects.For detailed mode schemas and advanced fields, read references/modes-and-parameters.md only when needed.
Use form fields rather than hand-built URL-encoded strings.
URL: https://scraperapi.dataify.com/builder?platform=1
Method: POST
Authorization header: Bearer DATAIFY_API_TOKEN
Content type: application/x-www-form-urlencoded
Fixed fields:
spider_name=youtube.comspider_errors=trueMode-specific spider_id:
youtube_video-post_by-urlyoutube_video-post_by-search-filtersyoutube_video-post_by-hashtagyoutube_video-post_by-podcast-urlyoutube_video-post_by-keywordyoutube_video-post_by-exploreDefault field:
file_name={{TasksID}}Dynamic field:
spider_parameters must be a JSON string, not a raw object.For stable execution, prefer scripts/submit_dataify_youtube_video_post.py with Python 3.6 or newer instead of rewriting the Builder flow.
powershell
python3 ".\scripts\submit_dataify_youtube_video_post.py" --mode keyword --keyword "top videos"
If python3 is not available, use the local Python 3 command for that machine, such as python. The script checks the runtime version and tells the user to use Python 3.6 or newer if the active interpreter is too old.
To submit multiple groups, pass a JSON array for the selected mode:
powershell
python3 ".\scripts\submit_dataify_youtube_video_post.py" --mode hashtag --params-json '[{"hashtag":"shopping","num_of_posts":"10"},{"hashtag":"music","num_of_posts":"25"}]'
The script prints a JSON summary with mode, spider_id, task_id, status, parameters, file_name and message.
Missing Dataify API TOKEN means DATAIFY_API_TOKEN is not set in the environment. Tell the user to get an API TOKEN from Dataify.
Unsupported mode means the mode must be url, search_filters, hashtag, podcast_url, keyword, or explore.
URL must use https://www.youtube.com means the URL is non-compliant.
Unsupported order_by, Unsupported all_tabs, or other unsupported dropdown messages mean the value must be one of that field's allowed values.
File name cannot be empty means no usable file_name was provided.
Missing task_id usually means the authorization header, token, spider_name, or selected spider_id is wrong.
The default deliverable is the collected result, not only a task_id.
Submit the Builder task once and capture its task_id.
Immediately continue with $dataify-task-operations and monitor the same task ID.
--timeout 1800 for media downloads or clearly high-volume, multi-page, or multi-input collections.When the task succeeds, download and return the final JSON result. Summarize large payloads while preserving access to the raw result.
If monitoring times out or is interrupted, return the task ID and a resume command. Do not resubmit the paid task.
Stop after submission only when the user explicitly asks for submission only, a task ID, or --no-wait behavior.
bash
python3 scripts/submit_dataify_youtube_video_post.py --help
export for macOS/Linux shells, $env: for Windows PowerShell, or set for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.DATAIFY_API_TOKEN is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it..env unless the execution path explicitly loads it, and ensure .env is ignored by version control.