查看源码
浏览站点模块、运行脚本和完整爬虫目录。
Python SDK
了解身份验证、API 方法和远程 CDP 会话。
安装与配置
准备 Git、Python 3.10 或更新版本,以及 AdsCrawl API Key。爬虫仓库对 Python 版本的要求高于独立 SDK。 在终端中运行:- macOS / Linux
- Windows PowerShell
adscrawl_scrapers、AdsCrawl SDK、Playwright、解析器和开发测试依赖。这些示例连接的是远程 Chromium 浏览器,无需执行 playwright install chromium。
运行爬虫或站点在线测试会消耗 AdsCrawl 额度。运行前先检查
run.py 中的 URL、日期和页数限制。API Key 应通过环境变量配置,不要提交到代码仓库。示例:Bing 搜索与相关关键词
在仓库根目录运行自带脚本:bing.py 中的两个函数:
自带
run.py 使用 web scraping emails 作为搜索词,最多采集三页,并将结果保存到 bing-scraper/ 下的 results/serps.json 和 results/keywords.json。
如果要修改搜索词并先采集一页,将下面的代码保存为 bing-scraper/custom.py,然后在该目录执行 python custom.py:
position、title、url、origin、domain、description 和 date,部分值可能缺失或为 null。Bing 对某些搜索词可能不展示相关关键词。该模块显式使用 countryCode="GB",因此默认国家环境变量不会覆盖它的线路。
示例:将 ChatGPT 回答保存为 Markdown
从仓库根目录运行:chatgpt.scrape_conversation(prompt),将返回的 Markdown 保存到 chatgpt-scraper/results/conversation.md。修改 run.py 中的 prompt 即可调整问题。
也可以将下面的代码保存为 chatgpt-scraper/custom.py,然后在该目录执行 python custom.py:
选择其他站点
进入对应站点目录,查看run.py,修改输入后在该目录运行。不同站点的函数签名和输出结构各不相同;bing.py 等是站点目录中的本地模块,并非已安装的 adscrawl SDK 的子模块。
上表列出仓库已有示例;使用前请查看验证报告中对应函数的状态。完整内容见 81 个站点目录和机器可读函数清单。
并发、地区与会话
例如,在 macOS 或 Linux 中配置:
$env:ADSCRAWL_CONCURRENCY = "1" 和 $env:ADSCRAWL_DEFAULT_COUNTRY = "US"。
站点显式设置的 countryCode 优先。自定义 proxy 不能与 countryCode 同时传入。多个客户端或进程会分别占用会话,需要将它们的总用量一起计算。
大多数示例通过 AsyncAdsCrawl.cdp.create 创建浏览器,由 Playwright 经 CDP 连接并获取 HTML、网络响应,最后用 cdp.close 释放会话。命名会话可在一次站点操作中复用 Cookie、存储和浏览器连接。独立脚本使用 adscrawl_scrapers.run(...) 在退出时关闭公共客户端。Air France 使用同步 SDK,Google AI Mode 使用 spa.extract。
编写自己的解析器
安装仓库并配置 API Key 后,可以将下面的代码保存为 Python 脚本运行:response.content 提供页面正文,response.selector 用于 CSS/XPath 提取,response.network 包含捕获的 XHR/fetch 响应。响应正文为 JSON 时可以调用 response.json()。异步上下文管理器会在退出时关闭该客户端的远程会话。
验证结果
仓库的逐站实测报告记录了 2026 年 10 月 27 日的 81 站测试。该轮 Bing 测试返回 30 条搜索结果和 8 条相关关键词;ChatGPT 测试的回答包含 “Paris”。这些数量是报告中测试的观察结果,不是上方代码每次运行的保证输出。 整套现有测试通过的站点为 App Store、Bing、ChatGPT、Fashionphile、Idealo、IMDb、Imovelweb、Reddit、Rightmove、Shopify、Similarweb、Ticketmaster、Twitter / X、Vestiaire Collective 和 Zillow。通过状态仅适用于当日已测试的函数及输入。部分站点 README 仍保留较早的验证说明,本轮证据和范围以这份带日期的报告为准。 仓库已有的results/ 文件是历史样例。使用数据前应检查本次新生成的输出和必要字段;空结果不能证明爬虫工作正常。
在仓库根目录运行离线检查,无需 API Key,也不消耗额度:
常见问题
公共传输层不会自动重试计费请求。部分站点模块自行实现了重试循环,增加任务量前应查看对应代码。更多信息见额度与限制、远程 CDP和仓库传输说明。