scraping-youtube-playlist

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Scraping Youtube Playlist

抓取YouTube播放列表

Raw data collection. No assumed use case — returns the full dataset for downstream analysis.

原始数据采集。不预设使用场景——返回完整数据集以供下游分析。

Inputs

输入参数

ParameterTypeRequiredDefaultNotes
startUrls
arrayOptional
[]
YouTube playlist URLs
keywords
arrayOptional
[]
Search keywords to find playlists
gl
stringOptional
us
Country code (e.g.
US
)
hl
stringOptional
en
Language code (e.g.
en
)
sort
stringOptional
r
Sort order
maxItems
numberOptionalUnlimitedMaximum videos to return
customMapFunction
stringOptionalJavaScript function to transform each output object
参数类型是否必填默认值说明
startUrls
array可选
[]
YouTube播放列表URL
keywords
array可选
[]
用于查找播放列表的搜索关键词
gl
string可选
us
国家代码(例如
US
hl
string可选
en
语言代码(例如
en
sort
string可选
r
排序顺序
maxItems
number可选无限制返回的最大视频数量
customMapFunction
string可选用于转换每个输出对象的JavaScript函数

How to Run

运行方式

Using run_actor.js (recommended)

使用run_actor.js(推荐)

bash
undefined
bash
undefined

Quick answer (table)

快速查看结果(表格形式)

node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}'
node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}'

Save as CSV

保存为CSV文件

node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}' --output results.csv --format csv
node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}' --output results.csv --format csv

Save as JSON

保存为JSON文件

node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}' --output results.json --format json
undefined
node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}' --output results.json --format json
undefined

REST API fallback

REST API备选方案

bash
curl -X POST "https://api.apify.com/v2/acts/apidojo~youtube-playlist-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}'
If Apify MCP is available: Use the Apify MCP
call_actor
tool with actor
apidojo~youtube-playlist-scraper
and the input above.

bash
curl -X POST "https://api.apify.com/v2/acts/apidojo~youtube-playlist-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}'
若Apify MCP可用: 使用Apify MCP的
call_actor
工具,指定actor为
apidojo~youtube-playlist-scraper
并传入上述输入参数。

Output Fields

输出字段

FieldTypeDescription
type
stringAlways
video
id
stringVideo ID
title
stringVideo title
url
stringVideo URL
description
stringVideo description
duration
numberDuration in seconds
views
numberView count
likes
numberLike count
status
stringAvailability status
channel.id
stringChannel ID
channel.name
stringChannel name
channel.url
stringChannel URL
keywords
arrayVideo tags/keywords
isLive
booleanLive stream flag
isPrivate
booleanPrivate flag
thumbnails
arrayThumbnail objects
字段类型描述
type
string始终为
video
id
string视频ID
title
string视频标题
url
string视频URL
description
string视频描述
duration
number时长(秒)
views
number观看量
likes
number点赞数
status
string可用状态
channel.id
string频道ID
channel.name
string频道名称
channel.url
string频道URL
keywords
array视频标签/关键词
isLive
boolean直播标识
isPrivate
boolean私有标识
thumbnails
array缩略图对象

Edge Cases

边缘情况

  • Private playlist: Returns 0 results. Tell user the playlist is private.
  • Deleted playlist: Returns error or empty. Check URL.
  • Very large playlist: Use maxItems to cap results and avoid long run times.
  • Mix playlist (YouTube auto-generated): May behave differently than user-created playlists.
  • 私有播放列表:返回0条结果。告知用户该播放列表为私有。
  • 已删除的播放列表:返回错误或空结果。请检查URL。
  • 超大播放列表:使用maxItems限制结果数量,避免运行时间过长。
  • 混合播放列表(YouTube自动生成):表现可能与用户创建的播放列表不同。