DataForSEO 在队列模式下每次查询收费 0.0006 美元,而实时收费为 0.002 美元。 Scavio 收费 0.005 美元,并且可以立即得到结果。选择取决于您的用例:代理需要实时结果,每日排名跟踪可以使用队列,批量分析从队列中获益最多。本教程提供了一个具有精确成本数学的决策框架。
前置条件
- Python 3.8+
- 请求库
- 来自 scavio.dev 的 Scavio API 密钥
- 了解您的延迟需求
操作指南
步骤 1: 将用例映射到延迟要求
按紧急程度对查询进行分类。
Python
USE_CASES = {
'agent_search': {'mode': 'live', 'reason': 'Agents block on results'},
'daily_rank_tracking': {'mode': 'queue', 'reason': 'Processed overnight'},
'content_research': {'mode': 'live', 'reason': 'Writer waits for data'},
'competitor_monitoring': {'mode': 'queue', 'reason': 'Scheduled checks'},
}
for uc, info in USE_CASES.items():
print(f'{uc:25} -> {info["mode"]:5} ({info["reason"]})')步骤 2: 计算节省的成本
计算您的体积的确切节省量。
Python
def compare(queries, pct_queue=0.7):
q = int(queries * pct_queue)
l = queries - q
scavio = queries * 0.005
dfs_mixed = q * 0.0006 + l * 0.002
print(f'{queries:,} queries ({pct_queue*100:.0f}% queue):')
print(f' Scavio (all live): ${scavio:.2f}')
print(f' DFS (queue+live): ${dfs_mixed:.2f}')
print(f' Savings: ${scavio - dfs_mixed:.2f}')
print(f' Note: Scavio = 6 platforms, DFS = Google-focused')
compare(10000)
compare(100000, 0.9)步骤 3: 构建双模式客户端
根据上下文将查询路由到正确的模式。
Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
H = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}
def search(query, mode='live'):
# Scavio is always live; for queue you'd use DataForSEO
data = requests.post('https://api.scavio.dev/api/v1/search',
headers=H, json={'query': query, 'country_code': 'us'}).json()
return data
def auto_route(query, context='default'):
if context in ('agent', 'interactive'): return 'live'
if context in ('batch', 'scheduled'): return 'queue'
return 'live'
for q, ctx in [('trending apis', 'agent'), ('rank check kw1', 'batch')]:
mode = auto_route(q, ctx)
print(f' [{mode}] ({ctx}) "{q}"')步骤 4: 实施成本跟踪
跟踪跨模式的支出以获得预算可见性。
Python
class CostTracker:
def __init__(self):
self.live = 0
self.queue = 0
def log(self, mode):
if mode == 'live': self.live += 1
else: self.queue += 1
def report(self):
live_cost = self.live * 0.005
queue_cost = self.queue * 0.0006
print(f'Live: {self.live} (${live_cost:.3f}), Queue: {self.queue} (${queue_cost:.3f})')
print(f'Total: ${live_cost + queue_cost:.3f}')
tracker = CostTracker()
tracker.log('live'); tracker.log('queue'); tracker.log('queue')
tracker.report()Python 示例
Python
def compare(queries, pct_queue=0.7):
q = int(queries * pct_queue)
scavio = queries * 0.005
mixed = q * 0.0006 + (queries - q) * 0.002
print(f'{queries:,} queries: Scavio=${scavio:.2f}, DFS mixed=${mixed:.2f}, Save=${scavio-mixed:.2f}')
compare(10000)
compare(100000, 0.9)JavaScript 示例
JavaScript
function compare(queries, pctQueue = 0.7) {
const q = Math.floor(queries * pctQueue);
const scavio = queries * 0.005;
const mixed = q * 0.0006 + (queries - q) * 0.002;
console.log(`${queries}: Scavio=$${scavio.toFixed(2)}, DFS=$${mixed.toFixed(2)}, Save=$${(scavio-mixed).toFixed(2)}`);
}
compare(10000); compare(100000, 0.9);预期输出
JSON
agent_search -> live (Agents block on results)
daily_rank_tracking -> queue (Processed overnight)
10,000 queries (70% queue):
Scavio (all live): $50.00
DFS (queue+live): $7.20
Savings: $42.80
Note: Scavio = 6 platforms, DFS = Google-focused