重要须知
- 备份先行:在修改任何配置之前,务必先备份原始配置文件。
- 理解结构:配置文件是分层级的 XML 结构,修改时需要找准对应的节点。
- 重启生效:大多数配置修改后,需要重启 OpenClaw 服务或应用程序才能生效。
配置文件核心结构解析
一个典型的 OpenClaw.config 文件可能包含以下主要部分:

<?xml version="1.0" encoding="utf-8"?>
<OpenClaw>
<!-- 1. 全局与连接设置 -->
<Settings>
<Connection>
<Timeout>30</Timeout> <!-- 请求超时时间(秒) -->
<UserAgent>Mozilla/5.0 (兼容 OpenClaw)</UserAgent>
<MaxRedirects>5</MaxRedirects> <!-- 最大重定向次数 -->
<UseProxy>false</UseProxy>
<ProxyAddress />
</Connection>
<Concurrency>
<MaxThreads>5</MaxThreads> <!-- 最大并发线程数 -->
<RequestDelay>1000</RequestDelay> <!-- 请求间延迟(毫秒) -->
</Concurrency>
<Persistence>
<ConnectionString>Data Source=./data.db</ConnectionString> <!-- 数据存储位置 -->
</Persistence>
</Settings>
<!-- 2. 任务(Jobs)定义 - 核心部分 -->
<Jobs>
<Job name="ExampleCrawlJob" enabled="true">
<StartUrls>
<Url>https://example.com/page1</Url>
<Url>https://example.com/page2</Url>
</StartUrls>
<CrawlRules>
<AllowPattern>https://example.com/.*</AllowPattern> <!-- 允许爬取的URL正则 -->
<DenyPattern>.*\.(jpg|png|gif)$</DenyPattern> <!-- 拒绝爬取的URL正则 -->
<MaxDepth>3</MaxDepth> <!-- 爬取最大深度 -->
</CrawlRules>
<Downloader type="HttpDownloader">...</Downloader>
<Parser type="HtmlParser">
<Selectors>
<!-- 数据提取规则 (XPath/CSS Selector/正则) -->
<Field name="Title" selector="//h1/text()" type="String"/>
<Field name="Content" selector="div.article" type="Html"/>
<Field name="PublishDate" selector="span.date" regex="\d{4}-\d{2}-\d{2}" type="DateTime"/>
<Field name="NextPage" selector="a.next-page/@href" type="Url" isSeed="true"/> <!-- 发现新链接 -->
</Selectors>
</Parser>
<Pipeline type="SqlitePipeline">...</Pipeline> <!-- 数据处理与存储管道 -->
<Handlers>
<OnError retryCount="3" /> <!-- 错误处理 -->
</Handlers>
</Job>
<!-- 可以定义多个Job -->
</Jobs>
<!-- 3. 日志与监控设置 -->
<Logging>
<Level>INFO</Level> <!-- DEBUG, INFO, WARN, ERROR -->
<Appenders>
<File path="./logs/openclaw.log" />
<Console />
</Appenders>
</Logging>
</OpenClaw>
关键配置项修改指南
调整爬取性能与礼貌性
MaxThreads:增加此值可提高并发速度,但可能加重目标服务器负担或触发反爬,根据网站承受能力和自身网络调整。RequestDelay:增加延迟(如从1000毫秒改为2000毫秒)是规避反爬虫最基本的礼貌措施。Timeout:网络状况差或目标服务器响应慢时,可适当增加。
定义爬取范围与规则
StartUrls:在此节点内添加或修改初始种子URL。AllowPattern/DenyPattern:- 使用正则表达式精确控制哪些URL被爬取或忽略。
<AllowPattern>https://www\.targetsite\.com/news/.*\.html</AllowPattern>只爬取新闻文章。
MaxDepth:控制从种子页开始的链接跟随深度,设为1表示只爬种子页本身。
定制数据提取规则(Parser)
这是配置的核心,决定了你提取什么数据。
selector属性:最常用,可以是 XPath 或 CSS Selector。使用浏览器开发者工具的“检查”和“复制 XPath/CSS Selector”功能来快速获取。
type属性:定义字段类型,如String,Html,DateTime,Url。isSeed="true":非常重要!如果一个字段(如NextPage)提取的是URL,并且你希望OpenClaw自动将其加入队列进行爬取,必须加上此属性。
配置数据存储(Pipeline)
ConnectionString:修改此字符串以指向你的数据库(如 SQL Server, MySQL, SQLite)。- 根据你使用的
Pipeline类型(如SqlPipeline,FilePipeline,MongoPipeline),可能需要额外的配置节点来指定表名、文件路径或集合名。
处理异常与日志
retryCount:网络临时错误时,重试次数。Logging/Level:调试时设为DEBUG可以看到更详细的请求和解析日志;生产环境建议设为INFO或WARN以减少日志量。
修改步骤与最佳实践
- 明确目标:清楚你要爬什么网站、提取哪些数据、以什么频率爬取。
- 增量测试:
a. 先从一个简单的种子URL开始。
b. 先只配置一个简单的数据字段(如标题)进行测试。
c. 使用
DEBUG日志级别运行,观察爬虫是否按预期发起请求和解析。 d. 逐步完善CrawlRules和Selectors。 - 使用测试工具:在将选择器写入配置前,使用浏览器的开发者工具控制台或在线XPath/CSS测试工具验证其准确性。
- 遵守
robots.txt:手动检查目标网站的robots.txt文件,确保你的爬虫行为是允许的。 - 实施反反爬策略:
- 合理设置
RequestDelay。 - 轮换
UserAgent(可在配置中定义列表并随机选择)。 - 考虑配置代理IP池(配置
UseProxy和ProxyAddress,可能需要扩展代码)。
- 合理设置
常见问题排查
- 爬虫不启动/无请求:检查
Job的enabled属性是否为true;检查StartUrls格式是否正确。 - 爬取到意外页面:检查
AllowPattern/DenyPattern正则表达式是否写错;检查MaxDepth是否过大。 - 数据提取为空:
- 在日志中查看下载的原始HTML,确认所需内容是否在响应中(可能需处理JavaScript渲染)。
- 仔细核对
selector,页面结构可能已更改。 - 检查是否存在 iframe 或需要登录。
- 被网站屏蔽:立即停止爬取,增加请求延迟,检查是否触发了频率限制,考虑添加更真实的请求头(如
Accept,Referer)。
通过仔细理解和修改这些配置项,你可以极大地提升 OpenClaw 爬虫的针对性、效率和健壮性。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。