「小墨是前端」专注分享前端技术,推荐优秀的开源项目,展示Github、Gitee上的创意作品,带你深入前端底层,一起成长。
大家好!我是小墨,本期给大家推荐一个我最近挖到的宝贝—— Crawl4AI,一个异步Web爬虫和数据提取工具,速度飞快,用起来不要太爽!尤其对我们做AI应用的程序员来说,简直是福音!
简介
爬虫是获取数据的利器,但传统的爬虫框架用起来要么太笨重,要么速度太慢。Crawl4AI完美解决了这些痛点。它不仅速度快,而且对LLM(大型语言模型)非常友好,可以直接输出JSON、干净的HTML、Markdown等格式的数据。
功能特点
先来看看Crawl4AI有哪些亮眼的功能:
- 免费开源: 白嫖党的福音!所有功能免费使用,而且代码开源,可以根据自己的需求进行修改。
- 速度极快: 官方的测试数据显示,Crawl4AI比一些付费服务都快,简直是降维打击!我实际测试了一下,也确实感觉速度很快。
- LLM友好: 支持多种LLM友好的输出格式,方便后续处理和分析。
- 自定义Hook: 支持自定义Hook,可以在爬取前修改页面、设置Header、进行身份验证等等。简直是为所欲为!
- 代理支持: 支持代理,可以隐藏你的真实IP,保护你的隐私。
怎么样?是不是很心动?别急,还有更厉害的!Crawl4AI还支持CSS选择器、自定义JavaScript执行、多种分块策略、高级提取策略等等,简直是无所不能!
使用方式(含代码示例)
接下来,我用几个简单的例子带大家快速上手Crawl4AI:
1. 基本使用:
就这么几行代码,就能轻松爬取一个网页的内容,是不是很简单?
2. 执行JavaScript代码:
有些网页的内容是通过JavaScript动态加载的,Crawl4AI也完美支持!
3. 使用代理:
如果你需要隐藏自己的IP地址,可以使用代理。
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler(verbose=True, proxy="http://your_proxy_ip:port") as crawler:
result = await crawler.arun(url="https://www.bytedance.com")
print(result.markdown)
if __name__ == "__main__":
asyncio.run(main())
项目地址
https://github.com/unclecode/crawl4ai
总结
Crawl4AI 真的是一个非常棒的工具,功能强大,使用简单,速度还快。它能大大提高我们的工作效率,节省时间和精力,强烈推荐给大家!
当然,没有完美的东西,Crawl4AI 也有一些小缺点,比如文档还不够完善。不过瑕不掩瑜,它依然是一款值得尝试的优秀工具。大家在使用过程中有什么问题,欢迎在评论区留言交流!
创作不易,欢迎大家关注、点赞、收藏、转发!我会继续分享高质量的干货和前沿的技术,给大家提供更多有价值的内容!