{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihtnsagr2wv6b6zjxs7rovzxkuefuwjche6luz7wpidtro2y6scsq",
"uri": "at://did:plc:hzgu7qyp34ofph3btawzwyw4/app.bsky.feed.post/3mhem6xq5fml2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreicptol34ojlf4o6ogdn4ngop3cskq3g62dwnrob5whbsqmta6du5m"
},
"mimeType": "image/png",
"size": 53712
},
"path": "/bitsap/articles/e3701908b475f1",
"publishedAt": "2026-03-17T07:55:29.000Z",
"site": "https://zenn.dev",
"textContent": "はじめに\nWeb Reader APIという、URLを投げるとAI要約付きのMarkdownを返すAPIを開発しています。\nhttps://rapidapi.com/bitsap/api/webreader-ai\nReadability(Firefoxのリーダーモードに使われている汎用抽出エンジン)だけでは日本のサイトに対応しきれず、43サイトの専用パーサーを実装することになりました。\nこの記事では、各サイトのHTML構造と格闘する中で遭遇した技術的なハマりどころ、設計判断、そして「なぜ汎用パーサーでは日本のサイトがうまく抽出できないのか」を赤裸々に書きます。\n\n なぜ汎用パーサーで...",
"title": "43サイトの専用パーサーを実装して分かった、日本のWebサイトの「闇」と「光」"
}