常见问题
Aneiang.Pa 是免费的吗?
是的,Aneiang.Pa 基于 MIT 许可证开源,可免费用于商业和个人项目。
支持 .NET Framework 吗?
目标框架为 .NET Standard 2.1 和 .NET 8,兼容 .NET Core 3.0+、.NET 5-8。不支持 .NET Framework。
如果你必须使用 .NET Framework,建议升级到 .NET Core 3.1 或 .NET 6+(LTS)。
如何添加自定义平台?
三种方式:
- YAML Recipe 文件(推荐)— 声明式定义,无需编译
- Builder DSL — C# 代码内联,运行时动态构造
- 特性标注 — 继承 Source 基类,强类型
推荐前两种,无需编译。详见 自定义 Recipe。
数据抓取频率有限制吗?
库本身不限制,但请遵守各平台的 robots.txt 和使用条款。内置限流管道可控制请求频率,避免被封禁。
建议抓取间隔 ≥ 5 分钟,避免频繁抓取导致 IP 被封禁。
支持代理和自定义 Header 吗?
支持。
// 单次代理
var data = await Pa.Source("WeiBo")
.WithProxy("http://127.0.0.1:7890")
.WithHeader("X-Custom", "value")
.GetAsync();
// 全局代理池
Pa.Configure(c => c.UseProxyPool(new[]
{
"http://127.0.0.1:7890",
"http://127.0.0.1:7891",
}));
如何参与贡献?
欢迎在 GitHub 提交 Issue 反馈问题或建议新平台,也欢迎提交 PR。新增平台只需一个 YAML 文件。
贡献 Recipe 只需 3 步
- 在
recipes/目录新建.yaml文件 - 填写
name/fetch/parse三个部分 - 提交 PR
抓取的数据可以用于商业用途吗?
爬取的数据仅限用于个人学习、研究或公益目的。不得用于商业售卖、攻击他人或任何非法活动,否则需自行承担法律责任。
如何对接 Prometheus / Grafana?
Aneiang.Pa 内置 System.Diagnostics.Metrics,兼容 Prometheus。详见 可观测性 文档。
如何对接 OpenTelemetry?
Aneiang.Pa 内置 ActivitySource,兼容 OpenTelemetry。详见 可观测性 文档。
包大小是多少?
主包 Aneiang.Pa 约 18 MB 左右,无重型依赖。
支持异步流式处理吗?
支持 IAsyncEnumerable,逐条产出,内存友好:
await foreach (var item in Pa.Source("WeiBo").StreamAsync())
{
Console.WriteLine(item["title"]);
}
如何关闭缓存/重试?
// 单次关闭
var data = await Pa.Source("WeiBo").NoCache().NoRetry().GetAsync();
// 全局关闭
Pa.Configure(c =>
{
c.Options.DefaultCacheDuration = TimeSpan.Zero;
c.Options.RetryCount = 0;
});
还有其他问题?
- GitHub Issues — 提交问题
- GitHub Discussions — 讨论交流