| name | Social Media Content Extraction |
| description | Extract content from Threads, Instagram with reply collection and depth control |
Social Media Content Extraction
Threads, Instagram ๋ฑ ์์
๋ฏธ๋์ด ์ฝํ
์ธ ์ถ์ถ ๊ฐ์ด๋
๐ MANDATORY - Depth ์ ํ ์ง๋ฌธ ํ์!
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ ๏ธ MANDATORY CHECKPOINT โ
โ โ
โ ์์
๋ฏธ๋์ด URL ์ฒ๋ฆฌ ์ ๋ฐ๋์ depth๋ฅผ ๋ฌผ์ด์ผ ํฉ๋๋ค! โ
โ โ
โ โ ๏ธ ์ด ์ง๋ฌธ ์์ด ์คํฌ๋ํ ์์ = ์๋ชป๋ ๋์! โ
โ โ
โ ์๋ ์คํต ํ์ฉ ์กฐ๊ฑด: โ
โ - "๋น ๋ฅด๊ฒ" ํค์๋ โ depth=1 ์๋ ์ ์ฉ โ
โ - "์ ์ฒด", "๋ค" ํค์๋ โ depth=2 ์๋ ์ ์ฉ โ
โ - ํค์๋ ์์ โ ๋ฐ๋์ ์ง๋ฌธ! โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ URL ์ ๊ทํ (MANDATORY)
์์
๋ฏธ๋์ด URL ์ฒ๋ฆฌ ์ ๋ฐ๋์ ์ ๊ทํ ์ํ:
| ์
๋ ฅ URL | ์ ๊ทํ ๊ฒฐ๊ณผ |
|---|
threads.net/@user/post/... | threads.com/@user/post/... |
www.threads.com/@user/post/... | threads.com/@user/post/... |
m.threads.com/@user/post/... | threads.com/@user/post/... |
instagram.com/p/... | instagram.com/p/... (๋ณ๊ฒฝ ์์) |
www.instagram.com/p/... | instagram.com/p/... |
m.instagram.com/p/... | instagram.com/p/... |
function normalize_social_url(url) {
url = url.replace(/threads\.net/g, 'threads.com')
url = url.replace(/www\.threads\.com/g, 'threads.com')
url = url.replace(/m\.threads\.com/g, 'threads.com')
url = url.replace(/www\.instagram\.com/g, 'instagram.com')
url = url.replace(/m\.instagram\.com/g, 'instagram.com')
return url
}
โ ๏ธ ์ ๊ทํ ์์ด ํฌ๋กค๋ง ์์ = ์๋ชป๋ ๋์!
Depth ์ ํ ์ง๋ฌธ (ํ์!)
์์
๋ฏธ๋์ด URL ๊ฐ์ง ์ ๋ฐ๋์ ๋ฌผ์ด์ผ ํฉ๋๋ค:
๐ ๋ต๊ธ ์์ง ๋ฒ์๋ฅผ ์ ํํด์ฃผ์ธ์:
1) depth=1: ์ง์ ๋ต๊ธ๋ง (๋น ๋ฆ)
- ๋ณธ๋ฌธ + ์ง์ ๋ฌ๋ฆฐ ๋ต๊ธ๋ง ์์ง
2) depth=2: ๋ต๊ธ์ ๋ต๊ธ๊น์ง (๋ ์์ ํ ๋งฅ๋ฝ)
- ๋ณธ๋ฌธ + ๋ชจ๋ ๋ต๊ธ + ์ค์ฒฉ ๋ต๊ธ๊น์ง ์์ง
๊ธฐ๋ณธ๊ฐ(depth=2)์ ์ฌ์ฉํ์๊ฒ ์ต๋๊น?
์ง์ ํ๋ซํผ
| Platform | URL Pattern | Stealth Required |
|---|
| Threads | threads.net/@*/post/* | Yes |
| Instagram | instagram.com/p/* | Yes |
ํฌ๋กค๋ง ์ํฌํ๋ก์ฐ
Step 1: ๋ฉ์ธ ํฌ์คํธ ์ ๊ทผ
mcp_hyperbrowser_scrape_webpage({
url: "https://threads.net/@user/post/ABC",
outputFormat: ["markdown"],
sessionOptions: {
useStealth: true
}
})
Step 2: Depth์ ๋ฐ๋ฅธ ๋ต๊ธ ์์ง
depth=1 (์ง์ ๋ต๊ธ๋ง):
depth=2 (๋ต๊ธ์ ๋ต๊ธ๊น์ง):
reply_urls.forEach(url => {
mcp_hyperbrowser_scrape_webpage({
url: url,
outputFormat: ["markdown"],
sessionOptions: { useStealth: true }
})
})
์ถ๋ ฅ ํ์
---
tags: [threads, ์์
๋ฏธ๋์ด, {์ฃผ์ ํ๊ทธ}]
source: {original_url}
author: {์์ฑ์}
created: {์์ฑ์ผ}
captured: {์์ง์ผ}
depth: {1 or 2}
---
# {์ ๋ชฉ ๋๋ ์ฒซ ๋ฌธ์ฅ}
## ๋ณธ๋ฌธ
{๋ฉ์ธ ํฌ์คํธ ๋ด์ฉ}
## ๋ต๊ธ
### @replier1
{๋ต๊ธ ๋ด์ฉ}
### @replier2
{๋ต๊ธ ๋ด์ฉ}
---
## ๊ด๋ จ ๋
ธํธ
- [[์ฐ๊ฒฐ๋ ๋
ธํธ]]
MCP ๋๊ตฌ (Antigravity/Gemini CLI)
| ์์
| ๋๊ตฌ |
|---|
| ์น ์คํฌ๋ํ | mcp_hyperbrowser_scrape_webpage |
| Vault ๊ฒ์ | mcp_obsidian_search_vault |
| ๋
ธํธ ์ ์ฅ | mcp_obsidian_create_note |
์ฐธ๊ณ : ์ฑ๊ธ ์ธ๋์ค์ฝ์ด(_) ์ฌ์ฉ