还在为写爬虫被反爬机制折磨?还在纠结用BeautifulSoup还是Playwright?

今天给大家安利一个开源爬虫神器——Crawlee,一个集网页爬取与浏览器自动化于一身的Python库。它就像给爬虫装上了"隐形斗篷",默认配置下就能让你的爬虫行为接近人类浏览,轻松绕过大多数反爬机制。

👉 项目地址:https://github.com/apify/crawlee-python

欢迎大家关注我的公众号:大模型论文研习社
往期回顾:大模型也会 “脑补” 了!Mirage 框架解锁多模态推理新范式,无需生成像素图性能还暴涨

欢迎大家体验我的小程序:王哥儿LLM刷题宝典,里面有大模型相关面经,正在持续更新中
在这里插入图片描述

为什么选Crawlee?

这个工具最绝的是把复杂的爬虫逻辑封装得极其简单,却又保留了足够的灵活性:

反爬能力拉满:自动生成浏览器指纹,模拟真实设备请求,默认配置就能绕过很多网站的反爬

全场景覆盖:既支持快速的HTTP爬取(BeautifulSoup),也能无缝切换到Playwright的无头浏览器模式处理动态网页

智能资源管理:自动根据系统资源调整并发数,不会因为爬太快把服务器搞崩,也不会浪费性能

数据存储无忧:内置数据存储功能,爬取的结果自动保存,还能断点续爬,不怕中途中断

3分钟上手教程

第一步:安装

用pip就能搞定全家桶安装:

python -m pip install 'crawlee[all]'
# 安装Playwright浏览器依赖
playwright install

验证一下是否安装成功:

python -c 'import crawlee; print(crawlee.__version__)'

第二步:快速开始

如果你想爬一个普通网页,用BeautifulSoupCrawler就够了:

import asyncio
from crawlee.crawlers import BeautifulSoupCrawler
from crawlee.crawling_context import BeautifulSoupCrawlingContext

async def main():
    # 初始化爬虫
    crawler = BeautifulSoupCrawler()
    
    # 定义处理函数
    @crawler.router.default_handler
    async def handle_page(context: BeautifulSoupCrawlingContext) -> None:
        # 提取标题
        title = context.soup.title.string if context.soup.title else '无标题'
        print(f'页面标题: {title}')
        
        # 自动发现并爬取下一页链接
        await context.enqueue_links()
    
    # 启动爬虫,从指定URL开始
    await crawler.run(['https://example.com'])

if __name__ == '__main__':
    asyncio.run(main())

如果遇到JavaScript渲染的动态页面,只需换成PlaywrightCrawler,核心逻辑几乎不变:

# 只需替换导入的类
from crawlee.crawlers import PlaywrightCrawler
from crawlee.crawling_context import PlaywrightCrawlingContext

第三步:进阶玩法

想快速生成爬虫模板?用它的CLI工具:

# 先安装uv包管理器
pipx install uv
# 创建爬虫项目
uvx 'crawlee[cli]' create my-crawler

比Scrapy强在哪?

作为一个现代爬虫库,Crawlee有几个杀手级优势:

👉 基于Asyncio异步框架,性能比Scrapy的Twisted更优
👉 完整的类型注解,IDE自动补全更友好
👉 无需复杂配置,一个Python文件就能跑
👉 支持状态持久化,崩溃了也能接着爬
👉 内置多种数据存储方式,不用自己写存储逻辑

最后说两句

这个项目是Apify团队开发的,他们在爬虫领域可是老玩家了。现在这个Python版本虽然年轻,但功能已经相当完善,GitHub上星标数也在快速增长。

无论是新手练手还是企业级爬虫开发,Crawlee都值得一试。特别是那些被反爬搞得头大的同学,不妨试试它的默认配置,说不定能省下大把时间。

你们平时爬数据都遇到过哪些反爬坑?觉得这个工具能解决你的问题吗?来留言区聊聊~

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐