
Emma Foster
Machine Learning Engineer

Agen AI yang memangku pengawasan media sosial, pemantauan merek, dan penelitian pasar memerlukan data terstruktur dari profil, unggahan, dan metrik keterlibatan media sosial publik. Platform media sosial menerapkan CAPTCHA dan perlindungan bot yang agresif yang menghalangi pengumpulan data otomatis — bahkan untuk informasi yang tersedia secara publik. Panduan ini membahas pembuatan pipeline data publik media sosial untuk agen AI menggunakan CapSolver untuk mempertahankan akses berkelanjutan ke data platform.
Agen AI yang melakukan pengawasan media sosial, intelijen kompetitif, dan penelitian pasar memerlukan akses ke data media sosial publik. Pemanggilan merek, topik yang sedang tren, pola keterlibatan, dan sentimen publik semuanya berasal dari konten yang diunggah secara publik. Namun, platform media sosial menerapkan lapisan perlindungan bot untuk mengelola akses otomatis.
Ketika agen AI mencoba mengumpulkan unggahan publik, informasi profil, atau metrik keterlibatan dalam skala besar, ia memicu tantangan verifikasi.
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install aiohttp beautifulsoup4 pandas
export CAPSOLVER_API_KEY="your-capsolver-api-key"
SOCIAL_PLATFORMS = {
"reddit_public": {
"name": "Reddit (Publik)",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"trigger": "rate_limit_after_30_pages",
"public_data": ["posts", "comments", "upvotes", "subreddit_stats"]
},
"twitter_public": {
"name": "X/Twitter (Publik)",
"captcha_type": "AntiTurnstileTaskProxyLess",
"trigger": "behavioral_and_rate",
"public_data": ["tweets", "likes", "retweets", "follower_count"]
},
"linkedin_public": {
"name": "LinkedIn (Profil Publik)",
"captcha_type": "AntiTurnstileTaskProxyLess",
"trigger": "after_20_profile_views",
"public_data": ["name", "headline", "company", "public_posts"]
},
"review_platforms": {
"name": "G2/Trustpilot/Capterra",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"trigger": "after_50_reviews_viewed",
"public_data": ["reviews", "ratings", "company_scores", "feature_mentions"]
}
}
import asyncio
from capsolver_core import create_capsolver, CaptchaType, CaptchaInfo
from dataclasses import dataclass
from typing import List
@dataclass
class SocialDataPoint:
platform: str
content_type: str
text: str
engagement: dict
author: str
timestamp: float
url: str
class SocialDataCollector:
def __init__(self, api_key: str, proxies: list):
self.cap = create_capsolver(api_key=api_key)
self.proxies = proxies
self.proxy_idx = 0
async def collect_public_posts(self, platform: str, query: str, max_pages: int = 5) -> List[SocialDataPoint]:
results = []
for page in range(max_pages):
proxy = self.proxies[self.proxy_idx % len(self.proxies)]
self.proxy_idx += 1
html = await self._fetch(platform, query, page, proxy)
if self._is_captcha(html):
token = await self._solve(platform)
html = await self._retry(platform, query, page, proxy, token)
posts = self._parse_posts(html, platform)
results.extend(posts)
if not posts:
break
await asyncio.sleep(5)
return results
async def _solve(self, platform_key: str) -> str:
config = SOCIAL_PLATFORMS[platform_key]
type_map = {
"ReCaptchaV2TaskProxyLess": CaptchaType.RECAPTCHA_V2,
"AntiTurnstileTaskProxyLess": CaptchaType.CLOUDFLARE
}
info = CaptchaInfo(
type=type_map[config["captcha_type"]],
website_url=f"https://www.{platform_key.split('_')[0]}.com",
website_key=config.get("site_key", "")
)
solution = await self.cap.solve(info)
return solution.token
async def monitor_brand_mentions(self, brand: str, platforms: list) -> dict:
all_mentions = []
for platform in platforms:
posts = await self.collect_public_posts(platform, brand)
mentions = [p for p in posts if brand.lower() in p.text.lower()]
all_mentions.extend(mentions)
return {
"brand": brand,
"total_mentions": len(all_mentions),
"by_platform": {p: len([m for m in all_mentions if m.platform == p]) for p in platforms}
}
async def close(self):
await self.cap.aclose()
| Kasus Penggunaan | Data yang Dibutuhkan | Platform | Nilai |
|---|---|---|---|
| Sentimen Merek | Pemanggilan publik + keterlibatan | Reddit, Twitter, Ulasan | Kesehatan merek secara real-time |
| Intelijen Kompetitif | Pemanggilan kompetitor + sentimen | Semua platform | Posisi pasar |
| Deteksi Tren | Volume unggahan + topik seiring waktu | Reddit, Twitter | Identifikasi tren dini |
| Generasi Prospek | Profil profesional publik | LinkedIn (publik) | Data prospek penjualan |
| Umpan Balik Produk | Ulasan + penyebutan fitur | G2, Capterra, Trustpilot | Masukan pengembangan produk |
| Ruang Pemantauan | Pengumpulan Harian | CAPTCHA Bulanan | Biaya Bulanan |
|---|---|---|---|
| 1 merek, 2 platform | ~60 halaman | ~540 | $1,08-1,62 |
| 5 merek, 3 platform | ~450 halaman | ~4.050 | $8,10-12,15 |
| 20 merek, 4 platform | ~2.400 halaman | ~21.600 | $43-65 |
Kode Bonus Anda: Gunakan kode WEBS di Dashboard CapSolver untuk mendapatkan bonus tambahan 5% pada setiap recharge.
FAQ CapSolver tentang penggunaan bertanggung jawab memberikan panduan tambahan. Panduan web scraping CapSolver menjelaskan pola infrastruktur. Untuk platform yang dilindungi Cloudflare, dokumentasi Turnstile menyediakan detail implementasi.
Pengumpulan data publik media sosial untuk agen AI memerlukan penanganan sistem perlindungan beragam di berbagai platform sambil mempertahankan batasan etis yang ketat. CapSolver menyediakan infrastruktur yang memecahkan verifikasi yang memungkinkan akses berkelanjutan ke data sosial publik — menyelesaikan reCAPTCHA dan Cloudflare Turnstile dalam 3-12 detik.
Mengumpulkan informasi yang dipublikasikan secara publik umumnya diperbolehkan di sebagian besar yurisdiksi. Namun, ketentuan layanan platform mungkin membatasi akses otomatis. Selalu konsultasikan dengan pengacara untuk kasus penggunaan Anda sendiri.
Platform dengan perlindungan CAPTCHA standar: Reddit (subreddit publik), X/Twitter (tweet publik), LinkedIn (profil publik), situs ulasan (G2, Trustpilot, Capterra), dan forum komunitas.
Data publik mencakup: teks unggahan, metrik keterlibatan (suara, bagikan, komentar), timestamp unggahan, informasi profil publik pengguna, hashtag, dan tautan media. Pesan pribadi dan bidang profil non-publik tidak pernah dikumpulkan.
Pelajari arsitektur pengambilan data web Rust yang dapat diskalakan dengan reqwest, scraper, pengambilan data asinkron, pengambilan data browser tanpa tampilan, rotasi proxy, dan penanganan CAPTCHA yang sesuai aturan.

Mengotomasi penyelesaian CAPTCHA dengan Nanobot dan CapSolver. Gunakan Playwright untuk menyelesaikan reCAPTCHA dan Cloudflare secara otomatis.
