# 专用站点解析器

> Search1API 如何为部分主流网站返回更干净、更结构化的输出，以及每个网站已验证的 URL 模式。

Canonical URL: https://s1.dev/zh/docs/guides/site-parsers

[`POST /crawl`](https://s1.dev/zh/docs/basic/crawl) 通过通用提取链路处理任何公开 URL。
对于少数主流网站，Search1API 还维护了专门的处理逻辑，
能返回比通用提取更干净、更结构化的输出：类似文章的 Markdown，外加站点专属的元数据。

## 专用处理的工作方式

专用处理有三种形式：

- **专用 HTML 解析器**直接读取渲染后的页面结构，把站点特有的元素
  （作者、发布日期、正文、计数）映射为统一的结果结构。
- **专用数据源或 API 路径**读取网站自身的结构化数据源，而不是 HTML 页面。
  例如，Reddit URL 通过 Reddit 公开的 Atom feed 提供服务，
  无需账户或 OAuth 应用即可返回帖子正文和评论串。
- **站点专属的提取规则**在专用解析之前，将渲染后的 HTML 提取与
  URL 规范化、目标正文校验结合起来，雪球的数字 ID 帖子就采用这种方式。

当专用路径无法处理某个请求时，`enableFallback` 允许该请求回退到基于浏览器渲染的提取。
响应仍然成功，但内容中可能包含页面周边的界面元素，不如专用输出干净。

部分站点规则会强制使用其指定的爬虫和校验路径。雪球的数字 ID 帖子不使用跨爬虫回退；
被识别为已删除的帖子会以 `SOFT_NOT_FOUND` 结束。知乎文章和单个回答必须包含
对应实体的正文，而不能是摘录或无关的回答。

## 按 URL 模式逐一验证支持

覆盖范围按 URL 形态而不是按域名来衡量。每个站点的介绍页只列出经过真实请求验证的 URL 模式。
一个站点可能支持帖子和列表页，而其他板块仍不受支持或需要登录。
需要登录认证的页面会如实返回错误，而不是编造内容。

## 支持专用处理的网站

| 网站 | 机制 | 已验证的 URL 模式 | 详情 |
| --- | --- | --- | --- |
| LinkedIn | 专用 HTML 解析器 | 公司主页、职位搜索与职位列表、帖子、Pulse 文章、公开个人资料 | [LinkedIn Scraper API](https://s1.dev/linkedin-scraper-api) |
| Reddit | 公开 Atom feed | 带评论串的帖子、subreddit 列表（包括排序视图）、用户主页 | [Reddit Scraper API](https://s1.dev/reddit-scraper-api) |
| X (Twitter) | 公开 embed/syndication JSON | 推文、引用推文和长文 Articles | [X Scraper API](https://s1.dev/x-scraper-api) |
| YouTube | 基于页面字幕轨的专用解析器 | watch 和 youtu.be 视频 URL、播放列表 | [YouTube Scraper API](https://s1.dev/youtube-scraper-api) |
| GitHub | 专用转换器 | 仓库 README、blob 文件视图、raw.githubusercontent.com 文件 | [GitHub Scraper API](https://s1.dev/github-scraper-api) |
| Stack Overflow / Stack Exchange | 公开 Stack Exchange API | 问题页面、/a/ 和 /q/ 永久链接、所有网络站点 | [Stack Overflow Scraper API](https://s1.dev/stackoverflow-scraper-api) |
| Hugging Face | 公开 Hub API + 原始 README | 模型卡片、数据集卡片、Space 元数据、受限仓库的部分内容 | [Hugging Face Scraper API](https://s1.dev/huggingface-scraper-api) |
| 微信 | 专用 HTML 解析器 | 公开的 mp.weixin.qq.com/s/ 文章链接 | [WeChat Scraper API](https://s1.dev/wechat-scraper-api) |
| Hacker News | 公开的 Algolia 托管 HN API | 带评论树的帖子页面、评论永久链接、front/newest/ask/show 列表页 | [Hacker News Scraper API](https://s1.dev/hackernews-scraper-api) |
| npm | 公开 registry.npmjs.org API | 包页面、scoped 包、指定版本的页面 | [npm Scraper API](https://s1.dev/npm-scraper-api) |
| PyPI | 公开 pypi.org JSON API | 项目页面、指定发布版本的页面 | [PyPI Scraper API](https://s1.dev/pypi-scraper-api) |
| 哔哩哔哩 | 基于视频元数据 + 弹幕数据的专用解析器 | /video/ 页面、b23.tv 短链接 | [Bilibili Scraper API](https://s1.dev/bilibili-scraper-api) |
| CSDN | 基于 cloudflare-fetch 的专用解析器 | blog.csdn.net 的 /article/details/ 页面 | [CSDN Scraper API](https://s1.dev/csdn-scraper-api) |
| 知乎 | 基于渲染页面数据的专用实体解析器 | zhuanlan.zhihu.com/p/ 文章和 /question/\<id\>/answer/\<id\> 单个回答 | [Zhihu Scraper API](https://s1.dev/zhihu-scraper-api) |
| 雪球 | 带帖子身份校验和中文排版规范化的专用 DOM 解析器 | root/www 下数字形式 /\<user-id\>/\<post-id\> 的公开帖子 URL，规范化为 HTTPS www | [Xueqiu Scraper API](https://s1.dev/xueqiu-scraper-api) |

每个链接页面都记录了该网站已验证的 URL 模式、一个真实请求示例以及真实的响应输出。