LinkedIn 是信号最高的 B2B 在线数据集,对目标人物帖子的评论对于 GTM 团队来说是黄金。直接抓取 LinkedIn 会触发禁令,但 Google SERP 会合作索引 LinkedIn 帖子。本教程演示如何使用 Scavio 按主题发现帖子,然后获取帖子页面并提取评论级别信号以丰富 CRM。
前置条件
- Python 3.8+
- 请求库
- Scavio API 密钥
- LinkedIn 目标主题或角色(例如“SDR 策略”)
操作指南
步骤 1: 在 Google 上搜索 LinkedIn 帖子
使用网站运营商将结果限制为 linkedin.com/posts。
Python
import requests, os
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'query': 'site:linkedin.com/posts "SDR strategy" 2026'})
posts = r.json()['organic_results']步骤 2: 过滤帖子 URL
仅保留指向实际 LinkedIn 帖子的 URL。
Python
post_urls = [p['link'] for p in posts if '/posts/' in p['link']]步骤 3: 获取每个帖子页面
使用 Scavio 的页面提取器提取渲染的帖子内容。
Python
def fetch_post(url):
r = requests.post('https://api.scavio.dev/api/v1/extract',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'url': url, 'render_js': True})
return r.json()步骤 4: 提取反应和评论者
解析提取的 HTML 或结构化数据以获取评论者姓名和参与度。
Python
from bs4 import BeautifulSoup
def extract_engagement(html):
soup = BeautifulSoup(html, 'html.parser')
commenters = [el.text.strip() for el in soup.select('[data-test-commenter]')]
return {'commenters': commenters, 'count': len(commenters)}步骤 5: 丰富CRM
将评论者列表推送到您的丰富管道中。
Python
for post_url in post_urls[:10]:
post = fetch_post(post_url)
engagement = extract_engagement(post.get('html', ''))
print(post_url, engagement['count'], 'commenters')Python 示例
Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
def linkedin_posts(topic, limit=10):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'site:linkedin.com/posts "{topic}"'})
return [p['link'] for p in r.json()['organic_results'] if '/posts/' in p['link']][:limit]
def fetch_post(url):
r = requests.post('https://api.scavio.dev/api/v1/extract',
headers={'x-api-key': API_KEY},
json={'url': url, 'render_js': True})
return r.json()
if __name__ == '__main__':
for url in linkedin_posts('SDR strategy'):
post = fetch_post(url)
print(url, '- extracted', len(post.get('html', '')), 'chars')JavaScript 示例
JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
async function linkedinPosts(topic, limit = 10) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: `site:linkedin.com/posts "${topic}"` })
});
const { organic_results } = await r.json();
return organic_results.filter(p => p.link.includes('/posts/')).slice(0, limit).map(p => p.link);
}
const posts = await linkedinPosts('SDR strategy');
console.log(`Found ${posts.length} LinkedIn posts`);预期输出
JSON
Found 10 LinkedIn post URLs matching 'SDR strategy'. For each URL, Scavio extracts the rendered page HTML with commenter names and reaction counts. You now have a list of engaged LinkedIn users to enrich into your CRM.