1、前言
在人工智能领域,数据是驱动模型创新的核心燃料。而网络爬虫作为获取海量数据的关键工具,正成为连接互联网资源与AI应用的桥梁。Crawl4AI正是一款专为AI时代设计的开源爬虫框架,它以高效、智能、灵活的特性,重新定义了数据采集的范式。
2、简介
Crawl4AI是GitHub上排名第一的热门存储库,由一个活跃的社区积极维护。它为大语言模型(LLMs)、人工智能代理和数据管道提供了专为人工智能优化的超快速网络爬虫。Crawl4AI开源、灵活,专为实现实时性能而打造,赋予开发人员无与伦比的速度、精度和部署便捷性。
功能特性:
1、Markdown生成
2、结构化数据提取
3、浏览器集成
4、抓取与爬取
5、部署
6、其他特性
官方网址:
https://crawl4ai.com/
3、快速上手
1、安装Crawl4AI
pip install -U crawl4ai
如果遇到任何与浏览器相关的问题,你可以手动安装它们:
python -m playwright install --with-deps chromium
2、使用Python运行简单的Web爬虫
import asyncio
from crawl4ai import *
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://next.xxx.com/xxx",
)
print(result.markdown)
if __name__ == "__main__":
asyncio.run(main())
运行结果
3、使用BFSDeepCrawlStrategy实现基本深度爬取
Crawl4AI最强大的功能之一是它能够执行可配置的深度抓取,可以探索单个页面以外的网站。通过对爬取深度、域边界和内容过滤的微调控制,Crawl4AI为你提供了精确提取所需的内容。
BFSDeepCrawlStrategy(max_depth=2, include_external=False)指示Crawl4AI:- 抓取起始页面(深度 0)加上2个级别 - 保持在同一域内(不要点击外部链接)- 每个结果都包含元数据,如抓取深度 - 所有抓取完成后,结果以列表形式返回。
import asyncio
from crawl4ai import AsyncWebCrawler, CrawlerRunConfig
from crawl4ai.deep_crawling import BFSDeepCrawlStrategy
from crawl4ai.content_scraping_strategy import LXMLWebScrapingStrategy
asyncdef main():
# Configure a 2-level deep crawl
config = CrawlerRunConfig(
deep_crawl_strategy=BFSDeepCrawlStrategy(
max_depth=2,
include_external=False
),
scraping_strategy=LXMLWebScrapingStrategy(),
verbose=True
)
asyncwith AsyncWebCrawler() as crawler:
results = await crawler.arun("https://docs.crawl4ai.com/", config=config)
print(f"Crawled {len(results)} pages in total")
# Access individual results
for result in results[:3]: # Show first 3 results
print(f"URL: {result.url}")
print(f"Depth: {result.metadata.get('depth', 0)}")
if __name__ == "__main__":
asyncio.run(main())
运行结果
4、使用命令行运行
# 以Markdown格式输出的基础爬取
crwl https://next.xxx.com/xxx -o markdown
运行结果
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!