首页 / 文档 / 常见问题

常见问题

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)。

如何添加自定义平台?

三种方式:

  1. YAML Recipe 文件(推荐)— 声明式定义,无需编译
  2. Builder DSL — C# 代码内联,运行时动态构造
  3. 特性标注 — 继承 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 步

  1. recipes/ 目录新建 .yaml 文件
  2. 填写 name / fetch / parse 三个部分
  3. 提交 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;
});

还有其他问题?