1 ポイント 投稿者 nsjokt 4 시간 전 | まだコメントはありません。 | WhatsAppで共有

クローラーを何度も作ってみる中で、いつも引っかかっていたことがあります。ほとんどは一度スクレイピングして終わりなので、本当に知りたい「昨日と何が変わったのか」(価格低下・新商品・順位変動・レビュー変動)は、毎回自分で入り直して比較しなければなりませんでした。

web_harvesterは、起動しておくと継続的に動き、その「変化」を知らせることに注力しました。同じ項目を日付別にGoogle スプレッドシート/CSV/Excel/SQLへ蓄積するので、1行のデータではなく推移が残ります。そして意味のある変化が起きると、Slack/DiscordのWebhookやメールですぐに届きます。収集周期は自分で設定でき、デフォルトは低頻度にしています。

ノーコード面にも気を配りました。フィールド自動探索がページ上で値の候補(名前・価格など)を探して表示し、チェックするだけでマッピングされるため、コーディングは不要です。

技術的にいちばん面白かったのはreconエンジンです。このサイトにはJSON-LDがあるのか、__NEXT_DATA__に全部入っているのか、それとも結局DOMをスクレイピングする必要があるのか——毎回開発者ツールを開いて手で確認するのが面倒だったので、その判断をコードに移してみました。サンプルページを1つ受け取り、5つのモード(JSON-LD・window変数(__NEXT_DATA__など)・DOM反復・Google af-data/af-one)で自動診断し、最も低コストでUI変更に壊れにくい抽出経路を選んでくれます。SSRやJSONがドキュメントに埋め込まれて届くサイトはサーバーサイドで軽く処理し、動的ページやログインページは自分のChromeセッション(実ブラウザ)で取得して同じ抽出コードを通します。抽出コア(フィールドマッピング・型変換・アイテム抽出)はオフラインのユニットテストで固定しているため、リファクタリングの怖さも少なくなっています。

設計原則は最初から明確に定めました:公開データ・本人の権限/セッション・低頻度・robotsの尊重。CAPTCHA/プロキシの回避はしません。

形態はChrome MV3拡張+Python CLIのハイブリッドです。1人で作って運用しているので、まだ粗い部分もあると思いますが、実際に使ってみて「reconの診断結果や、こういう変化通知がもっとあるとよい」といったフィードバックをいただけると本当にありがたいです。

無料インストール(Chrome ウェブストア)ですぐに体験できます——収集・フィールド探索・CSV/スプレッドシートへのエクスポートは無料(Basic):https://chromewebstore.google.com/detail/…
無人スケジュール・変化通知はPro(一回限り・ローンチ20%自動適用):https://joktnova.gumroad.com/l/figvr/LAUNCH20

公開データ・本人の権限・低頻度・robotsの尊重・CAPTCHA/プロキシ回避なし。

まだコメントはありません。

まだコメントはありません。