Summary
- 多平台内容抓取与提取的统一中心,支持小宇宙播客、抖音、微信公众号、B站、小红书等平台的内容提取。
- Use when:
- - 提取播客/短视频/文章内容 content extraction podcast video article
- - 批量下载媒体文件 batch download media files
- -…
wulaosiji/skills
多平台? Use when: - 提取播客/短视频/文章? - 批量下载媒体文件 batch download media files - 多平台? - 生成文档素材 generate document materials - ? - 社交媒体监控 social media monitoring Part of UniqueClub toolkit. Learn more: https://uniqueclub.ai
npx skills add wulaosiji/skills --skill content-extractor
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Generate or improve a company-specific data analysis skill by extracting tribal knowledge from …
2.8K installsExtracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understa…
4.7K installs>
4.1K installs>
4K installsExtract metadata and content from WeChat Official Account articles. Use when user needs to pars…
3.8K installsExtract and analyze competitors' ads from ad libraries to understand messaging and creative app…
2.4K installsOther skills from wulaosiji/skills · top by installs.
npx skills add wulaosiji/skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
9,445 B
SUMMARY.md
673 B
🚀 Migrated to wulaosiji/founder-skills as
market-research-extractor.
This version is kept for backward compatibility. For the latest updates, use the founder-skills version.
支持多平台内容抓取:小宇宙播客、抖音、微信公众号、B站、小红书等。
Chinese:
English:
from skills.content_extractor.content_extractor import detect_platform
platform = detect_platform("https://www.xiaoyuzhoufm.com/episode/xxx")
# Returns: Platform.XIAOYUZHOU, Platform.DOUYIN, etc.
| 模式 | 速度 | 完整度 | 适用场景 |
|---|---|---|---|
| 快速模式 (extract/extract_fast) | 3-5秒 | ⭐⭐⭐ | 仅需要标题+媒体URL |
| 完整模式 (extract_full) | 10-30秒 | ⭐⭐⭐⭐⭐ | 需要详细描述和元数据 |
from skills.content_extractor.content_extractor import extract, extract_full
# 快速模式 - 推荐用于音频下载
result = extract("https://www.xiaoyuzhoufm.com/episode/xxx")
# 完整模式 - 推荐用于内容分析
result = extract_full("https://mp.weixin.qq.com/s/xxx")
print(result.title) # 标题
print(result.media_urls) # 媒体下载链接
print(result.content) # 文本内容
print(result.author) # 作者
print(result.metadata) # 完整元数据
from skills.content_extractor.content_extractor import batch_extract
urls = [url1, url2, url3]
results = batch_extract(urls, download_media=False)
pip install playwright requests
playwright install chromium
from skills.content_extractor.content_extractor import extract, extract_fast
# 快速提取(默认)- 使用curl直接获取音频URL,速度最快
result = extract("https://www.xiaoyuzhoufm.com/episode/xxx")
print(result.title) # 播客标题
print(result.media_urls) # 音频下载链接
print(result.author) # 播客名称
# 快速提取 + 下载音频
result = extract_fast(
"https://www.xiaoyuzhoufm.com/episode/xxx",
download=True,
save_path="./downloads"
)
from skills.content_extractor.content_extractor import extract_full
# 完整提取 - 使用浏览器渲染,获取更完整的信息
result = extract_full("https://www.xiaoyuzhoufm.com/episode/xxx")
print(result.content) # 详细描述
print(result.metadata) # 完整元数据
from skills.content_extractor.content_extractor import batch_extract
urls = [
"https://www.xiaoyuzhoufm.com/episode/xxx",
"https://mp.weixin.qq.com/s/xxx",
"https://www.bilibili.com/video/xxx",
]
results = batch_extract(urls, download_media=False)
for result in results:
print(f"{result.platform.value}: {result.title}")
from skills.content_extractor.content_extractor import detect_platform
platform = detect_platform("https://www.xiaoyuzhoufm.com/episode/xxx")
print(platform) # Platform.XIAOYUZHOU
| 平台 | 支持内容 | 音频 | 视频 | 文字 | 图片 |
|---|---|---|---|---|---|
| 小宇宙 | 播客 | ✅ | - | ✅ | - |
| 抖音 | 短视频 | ✅ | ✅ | - | - |
| 微信公众号 | 文章 | - | ✅ | ✅ | ✅ |
| B站 | 视频 | ✅ | ✅ | ✅ | - |
| 小红书 | 笔记 | - | ✅ | ✅ | ✅ |
@dataclass
class ExtractResult:
platform: Platform # 平台类型
title: str # 标题
content: str # 内容/描述
author: Optional[str] # 作者
publish_time: Optional[str] # 发布时间
media_urls: List[str] # 音频/视频URL列表
images: List[str] # 图片URL列表
metadata: Dict[str, Any] # 元数据(包含原始URL等)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
download_media |
bool | False | 是否下载音视频 |
save_path |
str | None | 下载保存路径 |
extract_text |
bool | True | 是否提取文字内容 |
from skills.content_extractor.content_extractor import ExtractError
try:
result = extract("https://invalid-url.com")
except ExtractError as e:
print(f"提取失败: {e}")
| Skill | Relationship | Use Case |
|---|---|---|
| document-hub | 下游处理 | 将提取内容生成Word/Excel文档 |
| 下游处理 | 将内容转换为PDF格式 | |
| image-ocr | 辅助识别 | 提取图片中的文字内容 |
| wechat-article-fetcher | 专用替代 | 专门用于微信公众号文章抓取 |
| twitter-scraper | 平台扩展 | 抓取Twitter/X平台内容 |
| md-to-wechat | 输出转换 | 将提取内容转换为公众号格式 |
| long-form-writer | 内容加工 | 将提取素材扩展为长文 |
from skills.content_extractor.content_extractor import extract
from skills.document_hub.document_hub import write
# 提取播客
result = extract("https://www.xiaoyuzhoufm.com/episode/xxx")
# 生成Word文档
content = {
"title": result.title,
"paragraphs": [
f"来源:小宇宙播客",
f"作者:{result.author}",
"",
"内容描述:",
result.content
]
}
write("播客笔记.docx", content)
from skills.content_extractor.content_extractor import batch_extract
urls = [
"https://www.xiaoyuzhoufm.com/episode/xxx",
"https://mp.weixin.qq.com/s/xxx",
"https://www.bilibili.com/video/xxx",
]
results = batch_extract(urls)
# 汇总到Excel
excel_data = []
for result in results:
excel_data.append({
"平台": result.platform.value,
"标题": result.title,
"作者": result.author,
})
write("内容汇总.xlsx", {"sheets": {"内容汇总": {"data": excel_data}}})
# 在 ContentExtractor 类中添加新的提取方法
def _extract_new_platform(self, url: str, **options) -> ExtractResult:
# 实现提取逻辑
return ExtractResult(
platform=Platform.NEW_PLATFORM,
title="...",
content="...",
metadata={"url": url}
)
# 在 __init__ 中注册
self.extractors[Platform.NEW_PLATFORM] = self._extract_new_platform
Part of the UniqueClub toolkit - a collection of skills for AI-powered content creation and automation.