MIX-Basic
8,000 IP · 500–900 线程
每月 $50 起
一个站点,每天查一次。跟踪几百个关键词、报告早上要而不是每小时要,就选它。
MIX 代理池最多 25,000 个 IP:每个地址每天只分到几次查询,搜索引擎不会弹验证码。列表中每个代理都带国家代码,本地搜索结果可以直接从目标国家的地址采集。1 小时测试仅 $1。

选择套餐,拖动时长和线程数。一个线程就是向搜索引擎发出的一个并发查询:200 线程的排名工具一次可以采集 200 页结果。
MIX-Basic 适合一个站点:每天在 Google 和 Bing 各查一次几百个关键词,深度到第 100 位。8,000 个地址分摊负载,每个 IP 每天只承担一两次查询。起步 500 线程;一周以上的时长可以每次加 50 个。
MIX-Business 面向代理机构:十来个项目、上千关键词、两个搜索引擎和多个地区的每日监测。16,000 个地址为所有客户都要早上出报告的日子留足余量。1,000 线程,可扩到 1,400。
MIX-Elite 为搜索结果监控服务而生:每小时采集、数万关键词、完整前 100 位。25,000 个地址、最多 9,900 线程:Basic 和 Business 都给不了这么多。
一个线程即一个并发连接。线程越多,同样时间内完成得越多。
1个月 $50线程无额外费用
比按天省 $250一个线程即一个并发连接。线程越多,同样时间内完成得越多。
1个月 $100线程无额外费用
比按天省 $350一个线程即一个并发连接。线程越多,同样时间内完成得越多。
1个月 $150线程无额外费用
比按天省 $450您的服务器进入白名单,此后代理对它的请求直接放行,没有用户名和密码这一步。白名单最多十个地址。
链接返回的是纯文本,每一行是一个代理的地址和端口。同一链接结尾加 .csv 会返回带国家代码的列表,本地结果需要它。
Key Collector 和 A-Parser 会自行重新读取列表,把链接粘贴进代理设置即可。排名工具是自己写的话,可以从下面的 Python 示例改起。
也就是 Basic 500 个端口、Business 1,000 个、Elite 1,500 个。每个端口都是独立代理,一次查询走一个端口。
Google 用 gl 和 hl 参数,Bing 用 cc 和 setLang。用 CSV 挑出目标国家的代理,结果就和当地用户看到的一致。
Google 只向浏览器返回结果,所以示例用 Playwright:脚本从列表取一个代理,打开某个地区的搜索结果,在其中查找域名。把控制台里的列表链接填到 PROXY_LIST_URL_FROM_DASHBOARD 的位置。
# pip install requests playwright
# playwright install chromium
import random, time, requests
from urllib.parse import quote_plus, urlparse
from playwright.sync_api import sync_playwright
PROXY_LIST_URL = "PROXY_LIST_URL_FROM_DASHBOARD"
REFRESH_SEC = 600
DEPTH = 30
_pool, _loaded = [], 0
def pool():
global _pool, _loaded
if time.time() - _loaded > REFRESH_SEC:
text = requests.get(PROXY_LIST_URL, timeout=15).text
_pool = [line.strip() for line in text.splitlines() if ":" in line]
_loaded = time.time()
return _pool
def serp_links(browser, url, hl, tries=3):
for _ in range(tries):
proxy = random.choice(pool())
ctx = browser.new_context(proxy={"server": f"socks5://{proxy}"}, locale=hl)
try:
page = ctx.new_page()
page.goto(url, timeout=20000, wait_until="domcontentloaded")
if "/sorry/" in page.url:
continue
page.wait_for_selector("#search", timeout=10000)
return page.eval_on_selector_all("#search a[href^='http'] h3",
"els => els.map(e => e.closest('a').href)")
except Exception:
continue
finally:
ctx.close()
return []
def position(domain, query, gl="us", hl="en"):
hosts = []
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
for start in range(0, DEPTH, 10):
url = f"https://www.google.com/search?q={quote_plus(query)}&gl={gl}&hl={hl}&start={start}"
for link in serp_links(browser, url, hl):
host = urlparse(link).netloc.replace("www.", "")
if host and host not in hosts:
hosts.append(host)
if domain in hosts:
break
browser.close()
return hosts.index(domain) + 1 if domain in hosts else None
print(position("example.com", "buy proxies", gl="us", hl="en"))
8,000 IP · 500–900 线程
每月 $50 起
一个站点,每天查一次。跟踪几百个关键词、报告早上要而不是每小时要,就选它。
16,000 IP · 1,000–1,400 线程
每月 $100 起
面向代理机构的套餐:客户项目、两个搜索引擎和多个地区共用一个代理池。
25,000 IP · 1,500–9,900 线程
每月 $150 起
面向监控服务的套餐:每小时采集、完整前 100 位、线程最多 9,900。
import csv, io, requests
CSV_URL = "PROXY_LIST_URL_FROM_DASHBOARD.csv"
COUNTRIES = {"de", "fr"}
OUT_FILE = "proxies_de_fr.txt"
text = requests.get(CSV_URL, timeout=15).text
rows = csv.DictReader(io.StringIO(text), delimiter=";")
picked = [f"{r['ip']}:{r['port']}" for r in rows if r["country"].lower() in COUNTRIES]
with open(OUT_FILE, "w") as f:
f.write("\n".join(picked) + "\n")
print(f"{len(picked)} proxies saved to {OUT_FILE}")