スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランスエンジニアとしての実体験から、フリーランスエンジニアに関するノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

Booking.comのクチコミの苦情を数えて宿を比較できるChrome拡張を作った

※提携先広告(リンク、バナー等)やAI生成文を含む場合があります
  • Booking.comのクチコミ本文を評価の低い順に100件前後読んで、苦情をカテゴリ別に数えるChrome拡張caveatを自作
  • 検索結果の宿をまとめて調べて順位表で比較。施設が事前に告知している注意事項もページ上部に引き上げます
  • 釧路の宿25軒の実測では、総合8.8で直近1年の苦情0件の宿と、7.9で10件の宿が見つかりました(2026年8月時点・権限ゼロ・外部通信なし)

Booking.comの宿選びで苦情クチコミを見える化するChrome拡張caveatのアイキャッチ

宿を決めるとき、総合点ではなくクチコミを低い順に並べ替えて全部読んでいます。総合9.5の宿を2泊で切り上げた経験からの習慣で、経緯は別記事に書きました。

www.malanka.org

ただこの読み方は、1軒なら数分で済んでも、候補が10軒20軒あると現実的ではなくなります。

クチコミ、件数が多すぎて結局ほとんど読まずに点数で決めちゃうんですよね。
低い順に並べ替えられるのは知ってるけど、何十件も読み比べる気力はないです。

12月に沖縄行きを考えていて、その宿選びを前に、この作業をChrome拡張にやらせることにしました。

釧路の25軒で試したら、手作業なら半日かかる量を1軒1分弱で読んでくれました!自分の代わりに低い順に読む係です。

Booking.comのクチコミの苦情を数えるChrome拡張caveatを作った

Booking.comのクチコミ本文を評価の低い順に読み、騒音・請求トラブル・老朽化などの苦情をカテゴリ別に件数と原文の抜粋つきで表示するChrome拡張です。権限ゼロ・外部通信なしで動きます(2026年8月時点)。

要約はしません。原文をそのまま出します。

Chromeウェブストアで公開中です。下のページからChromeに追加できます。

chromewebstore.google.com

ソースコードはGitHubのリポジトリで公開しています。

なぜ点数ではなく苦情の中身を読むのか?

総合点は平均なので、少数の致命的な指摘が埋もれます。高い点数をつけた人が本文の「悪かった点」欄に苦情を書いていることも多く、点数だけ見ていると気づけません。caveatはその「悪かった点」欄まで読みにいって、自分にとって致命的な指摘が何件あるかを数えます。

主な機能

告知欄の引き上げからクチコミ走査、宿の比較までの流れを動画にしました(画面のホテル名・クチコミ・告知文はデモ用のダミーです)。

www.youtube.com

施設の告知欄をページ上部に引き上げる

Booking.comの物件ページには「事前に確認!」という欄があり、追加料金・デポジット・チェックインの条件・工事の予定といった、施設側が先に告知している注意事項が書かれています。ただしこの欄があるのはページ全体の8割ほどスクロールした位置で、支払い方法とよくある質問の間に埋まっています。

Booking.comの物件ページ下部に元からある「事前に確認!」欄。支払い方法とよくある質問の間に埋まっている
元の「事前に確認!」欄。ページ全体の8割ほどスクロールした位置にあり、予約前に目に入りにくい

caveatはこれを料金・請求/チェックイン・チェックアウト/支払い方法の制限などのカテゴリに分類して、物件名の直下に原文のまま引き上げます。ページを開いた瞬間に、施設が白状していることが読めます。

この欄、存在自体を知りませんでした!いつも部屋の写真と点数を見て閉じてました。

Booking.comの物件ページ上部に、施設の告知欄を料金・チェックインなどのカテゴリ別に引き上げて表示するChrome拡張caveatのバナー
物件名の直下に「この宿が事前に告知している注意事項」をカテゴリ別に表示。原文のまま引き上げる

クチコミを調べる

Chrome拡張caveatがBooking.comのクチコミを評価の低い順に10ページ読んで、請求トラブルや工事などのカテゴリ別に件数と原文の抜粋を表示した画面
クチコミ走査の結果。カテゴリ別の件数・直近1年の件数・投稿日の範囲・原文の抜粋と根拠ラベルが並ぶ

バナーの「クチコミを調べる」ボタンを押すと、クチコミ本文を評価の低い順に10ページ(100件)読み、苦情の語彙辞書でカテゴリ別に分類します。頻出語は検索でさらに絞り込んで、低評価側と高評価側の両端からも読み足します。

件数と一緒に、宿を決めるのに要る文脈も付けます。

  • 投稿日の範囲と直近12ヶ月の件数(古い苦情と今の苦情を分けて見る)
  • 原文の抜粋と根拠のラベル(本人は気にしていない/施設が返信で認めている/Booking.comの翻訳から、といった印)
  • 施設が事前に告知している苦情には「上の告知欄に出ています」を併記
  • 読んだクチコミの部屋タイプが1種類に偏っている宿には「🏠 1日1組の貸切型かも」の注記(何件がどの部屋タイプだったかの根拠と、実際のタイプ数を「空室状況」で確かめる手順つき)

ドイツ語やフランス語のクチコミは、Booking内蔵の翻訳を使って日本語化してから判定し直します。結果は保存され、次に同じページを開いたときは即表示されます。前回よりクチコミ総数が増えていれば、もう一度調べる案内が出ます。

検索結果の宿をまとめて調べて、順位表で比較する

Booking.comの検索結果一覧で、調べた宿のカードに苦情カテゴリのチップが付いた様子
検索結果一覧では、調べ終わった宿のカードにカテゴリ別のチップが付く

検索結果一覧では「クチコミをまとめて調べる」で表示中の宿を1軒ずつ自動で調べ、カードに結果のチップが付きます。該当がなければ緑の「該当なし」です。

Chrome拡張caveatの比較モーダル。調べた宿がサムネイル・点数・カテゴリ別チップつきの順位表で並び、上部に調べたエリアの絞り込みチップが出ている
「宿を比較」の順位表。カテゴリのチップで並び替え、上のエリアチップでその土地の宿だけに絞れる

「宿を比較」を押すと、調べた宿がサムネイル・点数・カテゴリ別チップつきの順位表で並びます。別の検索に移ったあとでも、これまでに調べた宿は全部ここに並びます。カテゴリのチップを押すとその軸で並び替えられるので、騒音に敏感な人は騒音の少ない順、請求トラブルが嫌な人はその順で見られます。

上部のエリアチップで調べた土地の宿だけに絞れて、「🏠 貸切型かも」を押すと部屋タイプが1種類に偏った宿だけが出ます。「書き出す」で表の内容をJSONファイルとして保存できます。

書き出した比較結果から旅程をつくる

「宿を比較」の上部には「旅程をつくる」リンクがあります。書き出したJSONファイルをそのままアップロードすると、選んだ宿を地図と一覧にサムネイル付きで並べて旅程プランを作れる外部サービス「tabinera」が新しいタブで開きます。宿選びから旅程作成までの流れを動画にまとめました。更新情報はtabinera公式X(@tabinera_app)でも発信しています。

tabinera.pages.dev

www.youtube.com

実際の宿選びで役に立ちましたか。
12月の那覇の検索で25軒まとめて調べたら、前に泊まって良かった宿が苦情最少で出てきました。体感と数字が一致したので、ちょっと安心して使えるようになった感じです。

実測:釧路の宿25軒を全部調べたら何が見えたか

Booking.comで釧路を検索して出てきた25軒を、全部調べました。各宿のクチコミを評価の低い順に50件前後読んだ実測です。総合点と苦情の件数はおおむね連動しますが、外れる宿があります。

釧路の宿25軒の散布図。Booking.comの総合点と直近1年の苦情件数の関係
釧路の宿25軒の実測。右下(点数が高く苦情が少ない)に寄るほど安心だが、外れ値がいる

点数が高い宿なら苦情は少ないのか?

おおむねそうですが、両方向の外れ値がありました。

  • スマイルホテル釧路(総合7.9): 直近1年の苦情が10件で、25軒中最多タイでした。7点台の宿は他にもありますが、直近の苦情がここまで集中している宿は多くありません
  • ゲストハウスCrane鶴(総合8.8): 苦情7件は全部1年より古く、直近1年は0件でした。総合点は過去の分も含んだ平均なので、改善は数字に出にくいのです
  • アクシアイン 釧路(総合7.1): 空調の苦情13件は「エアコンがない」を13人が書いたものでした。同じ事実の繰り返しは件数だけ見ると過大に見えます。直近1年軸だと2件です
13人が同じことを書いてるなら、裏を返せば「エアコンが無い」こと自体は確実な情報ってことですね。

点数は「当たる」けれど、直近だけ悪化した宿と、改善したのに古い苦情を引きずる宿は拾えません。直近12ヶ月の件数を併記しているのはこのためです。

この実測は他人事ではなく、自分の宿選びにも使っています。来年、釧路に1ヶ月ほど滞在する予定があり、2026年9月末にその下見で3泊してきます。

宿はスーパーホテル釧路・黒金を選びました。総合7.4と点数は目立ちませんが、出発前に調べ直した時点でクチコミ全157件中99件を読んで、苦情は4件だけ。いちばん新しいものでも2024年8月で、この2年間は1件も出ていません。中身も「部屋が狭い」「朝食に行列」といった単発の軽いもので、点数順に眺めていたら、まず候補に入らなかった宿です。

実は苦情の割合だけならもっと低い宿もありました。ただ原文を読むと、そちらは1年ちょっと前に老朽化や朝食の苦情が続けて出ていて、同じ「直近1年0件」でも意味が違いました。件数で候補を絞って、最後は原文で決める。この拡張で想定している使い方そのままの選び方です。泊まった結果はこの記事に追記する予定です。

機械の判定って、どこまで信用できるんですか。
間違える前提の道具です。だから判定には必ず原文の抜粋が付いていて、怪しければその場で原文を確かめられます。判定側の直し方は次のとおりです。

誤検出はどう潰しているのか?

辞書の語は頭で考えず、実際のクチコミから拾って育てています。それでも誤検出は出ます。

沖縄20軒の実測では、盗難を意味する英語の語幹stolが、デンマーク語のstole(椅子)やポーランド語のstolik(テーブル)に当たっていました。フランス語のviennoiseries(菓子パン)が騒音判定されたこともあります。

見つけるたびに判定条件を直し、過去の実測データ全部で再判定して、本物の苦情が消えていないことを確認してから反映しています。

「菓子パンがない」が騒音になってたのはさすがに笑いました!原文の抜粋を必ず出すようにしているのは、こういう誤検出に気づけるようにするためでもあります。

動作対象ページと権限

動作するのはBooking.comの物件ページと検索結果一覧だけで、それ以外のページには一切作用しません。

対象 内容
対象ページ booking.com/hotel/(物件ページ)と booking.com/searchresults(検索結果一覧)
対応ブラウザ Chrome / Edge / Brave / Arc等のChromium系(Manifest V3対応)
必要な権限 なし(permissionshost_permissionsともに空)
外部通信 なし(インターネット上のサーバーへ何も送信しない)
結果の保存先 Booking.com上のlocalStorage(ブラウザの外に出ない)

要求する権限がゼロなのは、ページ上の文章を読んで同じページに表示するだけで、他に何も必要ないからです。

使い方:インストールから比較まで

  1. Chromeウェブストアのページを開き、「Chromeに追加」を押す
  2. Booking.comの物件ページを開くと、物件名の下にバナーが出る。「クチコミを調べる」で走査開始
  3. 検索結果一覧では右下のバーから「クチコミをまとめて調べる」→「宿を比較」

走査中はクチコミ画面が自動で開いてページ送りされます。画面がひとりでに動きますが、拡張が読んでいる動作なので正常です。時間は1軒1〜3分ほどで、終わると結果に切り替わります。

まとめて調べるときは作業用の小さいウィンドウが開き、1軒ずつ自動で進みます。

注意: 作業ウィンドウが完全に隠れると、走査は一時停止します。Booking.comが画面に見えていないウィンドウではクチコミを描画しない仕組みのため、隠れたまま走らせると空振りするからです。フルスクリーンの別ウィンドウの裏に置いたままでは進みません。画面の隅に少しでも見える状態で置いてください(表に出すと続きから自動で再開します)。

よくある質問

この拡張は無料で使えますか?
はい、完全に無料です。インストール料金もサブスクリプションもありません。
個人情報や閲覧履歴を集めたり、外部に送ったりしますか?
いいえ。要求する権限はゼロで、外部のサーバーへは何も送信しません。調べた結果の保存先はBooking.com上のlocalStorageだけで、ページの内容がブラウザの外に出ることはありません。
Booking.comの「クチコミの評価点」フィルタと何が違いますか?
点数フィルタは平均点での絞り込みです。caveatは本文を読んで「何の苦情が・何件・いつ書かれたか」を数えるので、平均に埋もれた致命的な指摘や、直近だけ悪化した宿を見つけられます。
苦情の件数が多い宿は避けるべきですか?
件数だけで決めず、原文の抜粋を読むことをおすすめします。同じ事実を大勢が書いているだけの場合や、自分には関係ない苦情(ビジネス用の請求書が出ない等)もあります。caveatが原文をそのまま出すのはそのためです。

あわせて読みたい

この拡張の出発点になった、宿選びの実体験の記事です。

www.malanka.org

過去に作った別のChrome拡張の記事です。

www.malanka.org

www.malanka.org