Pydoll
Pydoll 通过 Chrome DevTools Protocol 自动化 Chromium 浏览器,无需 webdriver,也无需手动等待。用它来抓取数据、测试 Web 应用,以及在异步 Python 中自动化真实的浏览器工作流。
安装
Pydoll 驱动你机器上已安装的 Chrome 或 Edge。你无需下载 webdriver,也无需让 driver 版本与浏览器保持同步。
第一次使用 Pydoll?跟随 快速开始 完成一次完整的上手演练。
快速上手
打开一个页面,用你向别人描述元素的方式来查找它们,并以拟人化的节奏进行交互:
import asyncio
from pydoll.browser.chromium import Chrome
async def main():
async with Chrome() as browser:
tab = await browser.start()
await tab.go_to('https://github.com/autoscrape-labs/pydoll')
star_button = await tab.find(
tag_name='button',
timeout=5,
raise_exc=False
)
if not star_button:
print('Button not found.')
return
await star_button.click()
await asyncio.sleep(3)
asyncio.run(main())
当目标是数据而非交互时,定义一个模型,让 Pydoll 提取它,并完成类型标注与校验:
import asyncio
from pydoll.browser.chromium import Chrome
from pydoll.extractor import ExtractionModel, Field
class Quote(ExtractionModel):
text: str = Field(selector='.text')
author: str = Field(selector='.author')
tags: list[str] = Field(selector='.tag')
async def main():
async with Chrome() as browser:
tab = await browser.start()
await tab.go_to('https://quotes.toscrape.com')
quotes = await tab.extract_all(Quote, scope='.quote', timeout=5)
for quote in quotes:
print(f'{quote.author}: {quote.text}')
asyncio.run(main())
模型支持 CSS 和 XPath 选择器、HTML 属性定位、自定义转换以及嵌套模型。更多内容见 结构化提取。
为什么选择 Pydoll
- 无需 webdriver:Pydoll 通过 Chrome DevTools Protocol 直接连接浏览器。没有需要下载的东西,也没有版本不匹配需要排查。
- 拟人化交互:点击沿着弯曲的鼠标轨迹移动,打字带有可变的节奏并偶尔出现随即被修正的拼写错误,因此你的自动化表现得像一个真人在键盘前操作。
- 异步为本:基于
asyncio构建,因此一个进程可以并发驱动多个标签页和浏览器。 - Cloudflare Turnstile 处理:Pydoll 检测 Turnstile 组件并原生点击它。无需付费或集成外部 captcha 服务。
- 网络控制:在页面发起请求时监控、拦截并修改它们。
- 类型化提取:声明一个 Pydantic 模型,得到经过校验、对 IDE 友好的对象,而不是原始元素。
下一步
- 快速开始:安装 Pydoll 并运行你的第一个脚本。
- 你的第一个自动化:登录站点并提取类型化数据。
- 从 Selenium 和 Playwright 迁移:把你已经掌握的操作对应到 Pydoll。
- 保持不被检测:避开明显机器人信号的最小配置。
- 指南:每种能力一篇指南,从元素查找到请求拦截。
- API 参考:每一个公开类和方法。
Top Sponsors
SerpApi
面向 AI 应用的 Web Search API。提供 Markdown 和 JSON,适配任意集成。
IPCook
面向隐身浏览器自动化的住宅代理:覆盖 185+ 地区的 5500 万+ IP,99.99% 可用率,平均响应低于 0.5 秒。
WELCOME20 20% 折扣
The Web Scraping Club
The #1 newsletter dedicated to web scraping. Read their full review of Pydoll.
NodeMaven
High-quality proxies for scraping and automation. ZIP targeting, 99.9% uptime, no KYC.
PYDOLL35 35% off
PYDOLL40 40% off ISP
NiuProxy
Rotating residential proxies: 10TB at $0.35/GB or 1TB at $0.50/GB for Pydoll users.
PAY2 10% off recharge
Sponsors
赞助商让项目得以持续运转,并帮助资助后续开发。感谢每一位支持 Pydoll 的人。
PYDOLL 15% off
Residential proxy network with 190+ locations
1GB free via our link
Proxies for web scraping & automation
+
Your logo here
Become a sponsor
许可证
Pydoll 以 MIT License 发布,因此你可以在个人和商业项目中自由使用它。




