如何利用 Crawl4AI 和 DeepSeek 构建人工智能搜索器
在本指南中,我将向您展示如何使用以下工具构建一个人工智能驱动的搜索器 Crawl4AI 和 深度搜索.Crawl4AI 是一款灵活的开源搜索工具,可与人工智能模型配合使用。DeepSeek 是一个强大的人工智能模型,可从非结构化网页中提取结构化数据。将这两者结合起来,就能创建一个能智能浏览网站并提取干净、有条理数据的刮擦工具,而不费吹灰之力!
什么是 Crawl4AI?
Crawl4AI 是一个开源的、面向 AI 的网页抓取器,旨在与大型语言模型(LLM)协同工作。与传统抓取器不同,它不依赖于固定的 HTML 解析规则。相反,它可以使用像 DeepSeek 这样的 AI 模型提取结构化数据。
Crawl4AI 的功能
- 专为法学硕士设计:它生成的结构化数据经过优化,可用于人工智能培训和检索增强生成(RAG)。
- 智能浏览器控制:它管理浏览器会话、代理和自定义钩子。
- 人工智能驱动的解析:利用启发式智能提取结构化信息。
- 开放源代码:无需 API 密钥;可在 Docker 和云平台上部署。
为什么将 DeepSeek 与 Crawl4AI 结合使用?
DeepSeek 是一种先进的开源人工智能模型,可高效处理文本。当与 Crawl4AI 结合使用时,它可以实现动态内容提取,而无需硬编码解析规则。这对以下方面尤其有用
- 结构经常变化的场地:人工智能可自动适应新布局。
- 提取非结构化内容:人工智能模型可以分析自由文本、博客文章或客户评论。
- 处理不同的页面格式: 很多网站会为其内容使用多个模板,这使得传统抓取器难以处理。
使用 Craw4AI 和 DeepSeek 进行网络抓取:逐步指南
步骤 1:设置项目
首先,创建一个新的项目目录并建立虚拟环境。
mkdir 锛
CD ai-scraper python -m venv venv
激活虚拟环境:
适用于 macOS/Linux:
来源 venv/bin/activate
适用于 Windows:
v venv脚本启动
第 2 步:安装 Crawl4AI
使用 pip 安装 Crawl4AI 及其依赖项:
pip install crawl4ai
运行 setup 命令安装浏览器依赖项:
抓取4AI设置
该命令安装 Playwright 浏览器,并设置缓存数据库。
第 3 步:创建爬虫文件
在项目文件夹中新建一个名为 scraper.py 的文件。
touch scraper.py
在文本编辑器中打开 scraper.py,添加基本的异步结构:
import asyncio
async def main():
# 爬虫逻辑将放在这里
pass
if __name__ == "__main__":
asyncio.run(main())
步骤 4:配置爬虫
在 scraper.py 中,导入必要的 Crawl4AI 组件:
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode
定义 基本网页搜索功能:
async def main():
# 浏览器设置
browser_config = BrowserConfig(headless=True)
# 履带式设置
crawler_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS)
# 初始化并运行人工智能驱动的铲运机
async with AsyncWebCrawler(config=browser_config) as 爬虫:
结果 = await crawler.arun(url="https://www.example.com", config=crawler_config)
# 显示提取的数据
print(f "提取的数据:n{result.markdown[:1000]}")
步骤 5:处理网站限制
一些网站会通过检测类似机器人的行为来阻止抓取。如果你的请求出现 `403 Forbidden` 错误,说明该网站已封禁你的抓取器。
要绕过限制,我们可以使用 Bright Data 的 Web Unlocker API。该服务可自动处理代理轮换和验证码问题。
设置网络解锁程序 API
- 创建一个 Bright Data 账户。
- 导航至仪表板中的代理和搜索。
- 启用 Web Unlocker API。
- 复制代理凭证并将其保存在 .env 文件中:
代理服务器=https://proxy.brightdata.com:22225
代理用户名=您的用户名
代理密码=您的密码
将代理集成到扫瞄器中
修改 scraper.py 以使用代理设置:
import os
from dotenv import load_dotenv
加载_dotenv()
# 代理配置
proxy_config = {
"服务器": os.getenv("PROXY_SERVER),
"用户名": os.getenv("代理用户名"),
"password": os.getenv("代理密码")
}
browser_config = BrowserConfig(headless=True, proxy_config=proxy_config)
现在,刮刀将 通过Bright Data网络路由流量 以避免被发现。
按规模处理场地限制
随着你的爬虫变得更加高级,你可能会遇到 IP 封禁、验证码或 JavaScript 内容较重的页面等常见挑战。为了让你的爬虫持续稳定运行,请考虑使用提供 代理轮换浏览器模拟,以及自动绕过反僵尸系统。
例如,集成了内置验证码处理功能的基于代理的解决方案,即使是受保护最严密的网站也能保持访问。这可确保您的人工智能驱动的刮擦器在广泛的目标中保持可靠性和可扩展性。我的机构主要使用 布赖特数据公司的 用于网络搜索的产品。
步骤 6:使用 DeepSeek 提取人工智能数据
我们需要 DeepSeek,一个能够理解和构建数据以提取有意义信息的人工智能模型。
获取 Groq API 密钥
- 注册 GroqCloud.
- 创建一个 API 密钥 根据 应用程序接口密钥.
- 将其保存在 .env 文件中:
LLM_API_TOKEN=your_groq_api_key
LLM_MODEL=groq/deepseek-r1-distill-llama-70b
定义提取模式
创建 models/ 目录和 models/data_schema.py 文件:
from pydantic import 基础模型
class 提取数据(基础模型):
标题: str
描述 str
image_url: str
使用 DeepSeek for 人工智能解析
修改 scraper.py,加入人工智能驱动的提取功能:
from crawl4ai.extraction_strategy import LLME 提取策略
from models.data_schema import 提取的数据
extraction_strategy = LLMExtractionStrategy(
provider=os.getenv("LLM_MODEL),
api_token=os.getenv("llm_api_token"),
schema=ExtractedData.model_json_schema()、
extraction_type="示意图",
指令="从内容中提取标题、描述和图片 URL"。,
input_format="标记"
)
crawler_config = CrawlerRunConfig(
cache_mode=CacheMode.BYPASS、
extraction_strategy=extraction_strategy
)
现在,人工智能模型将 分析页面内容并自动构建数据结构.
第 7 步:保存提取的数据
修改 scraper.py,将提取的数据保存为 JSON 文件:
import json
async def main():
async with 异步网络爬虫(config=browser_config) as 爬虫:
结果 = await crawler.arun(url="https://www.example.com", config=crawler_config)
# 解析人工智能提取的数据
extracted_data = json.loads(result.extracted_content)
# 保存为 JSON
with open("output.json", "w", encoding="utf-8") as f:
json.dump(提取的数据, f, indent=4)
if 姓名____ == "__main__":
asyncio.run(main())
最后步骤:运行爬虫
使用刮刀:
python scraper.py
这将
- 从网站提取数据。
- 使用人工智能构建内容结构。
- 将数据保存到 JSON 文件中。
因此,我们刚刚使用 Crawl4AI 和 DeepSeek 构建了一个人工智能驱动的网络搜索器。与普通的搜索器不同,它更智能、更灵活。它能适应网站变化,绕过反僵尸保护,提取数据而无需复杂的解析规则。
结论
有了这个设置,即使是受保护最严密的网站,你也能轻松刮擦。每次网站更新时,刮擦程序都不会再出错!现在,你拥有了一款功能强大的工具,它能让网络搜索更快、更智能、更可靠。
来吧,在不同的网站上试试吧。祝你编码愉快,刮奖愉快!

