Facebook Marketplace のスクリーンショットから商品名、価格、状態を取得
ほとんどのスクレイパーは Facebook Marketplace のウェブページから出品データを抽出しますが、モバイルアプリのスクリーンショットや保存したギャラリー写真を読み取ることはできません。本ツールは、あらゆる Marketplace のキャプチャから商品名、価格、状態、場所を、1枚あたり10秒未満で抽出します。
1枚あたり5~10秒 · 印字テキストの精度は最大99%
Facebook Marketplaceのスクリーンショットから抽出できる6つのフィールド
Facebook Marketplaceのスクリーンショットには、リスティングデータとプラットフォームUI(ナビゲーションバー、スポンサー広告、おすすめ)が混在しており、すべてテキストとして表示されます。カスタム列抽出を使用すると、AIは各フィールドを画面上の位置ではなく、その意味的な役割に基づいて識別します。
商品タイトル。通常、リスティングカード内で最も太字のテキストです。
ドル記号の横にある希望価格。その下のスポンサーアイテムとは区別されます。
価格の近くにあるバッジ。「Used - Like New」のような完全な修飾語を取得します。
価格の下またはカード下部にある都市名または地域名。
別のプロフィールカードに表示される出品者のFacebook表示名。
「Available」「Sold」「Pending」— オーバーレイまたはバッジから読み取ります。
これらを列名として入力してください。AIは、モバイル版とデスクトップ版の両方で、カード構造とレイアウトコンテキストに基づいて各フィールドを読み取ります。
価格が3か所に表示されている——どれが出品価格?
Facebook Marketplaceのスクリーンショットには、出品情報だけが写っているわけではありません。ナビゲーションバー、スポンサーアイテム、おすすめ出品など、すべてが表示テキストとして現れます。Redditでは、複数の出品を管理する出品者が手動で確認する様子が報告されています:「25件ほど出品していて、更新が必要かどうか確認するためにほぼ毎日何度もチェックしている」——データはスクリーンショットの中に存在しますが、従来の抽出方法ではすべてのピクセルを等しく重要視してしまいます。ここでは、その問題点と、セマンティックリーディングがどのように解決するかを説明します。
Facebook Marketplaceのスクリーンショットが従来のOCRではうまくいかない理由
リスティングカードがプラットフォーム上のノイズに囲まれている。 ナビゲーションバー、スポンサーリスティング、「購入者保護」バッジ、「あなたへのおすすめ」など、すべてが表示テキストを生成する。従来のOCRはすべての要素を均等に読み取るため、リスティングのItem Nameと、その下にあるスポンサータイトルを区別できない。
Priceフィールドがレイアウトゾーン間で重複する。 リスティングカードには上部の角に大きな価格が表示され、検索結果ビューでは小さなテキストで繰り返され、説明文でも再度記載される場合がある。基本的なOCRでは、重複を排除する方法がないまま、3つの別々の価格のような値を出力する。
モバイルとデスクトップのレイアウトに共通点がまったくない。 モバイルアプリでは、バッジオーバーレイ付きの縦型カードでリスティングが表示される。デスクトップサイトでは、ラベル付きフィールドがある左サイドバーを使用する。テンプレートベースのツールでは、同じリスティングに対して2つの異なる設定が必要になる。
セマンティック抽出が各フィールドをコンテキストで読み取る仕組み
フィールド名を指定するだけで、AIは位置ではなく意味に基づいて値を特定します。 Item Name、Price、Condition、Location と入力します。ビジュアルモデルがカード構造を読み取り、最も太いテキストをItem Name、ドル記号の横にある大きな数字をPriceとして識別し、下にあるスポンサーリスティングの「Free」タグは無視します。
重複する価格値は1つにまとめられます。 Priceがカードヘッダーと説明文の両方に表示されている場合、AIはカードの価格をリスティング価格として認識します。スプレッドシートの各列には、正確に1つのクリーンな値が入ります。
1つの列設定でモバイル、デスクトップ、検索結果に対応します。 モバイルアプリのカード、デスクトップの詳細ページ、検索結果ビューを同じバッチにアップロードします。AIは各レイアウトに独立して適応し、モバイルカードのバッジからConditionを読み取り、デスクトップページのサイドバーからも読み取ります。
マーケットプレイスのスクリーンショットギャラリーから、ひとつの構造化リストへ
出品中のアイテムを追跡する場合、お住まいのエリアで何が入手可能かを監視する場合、あるいは完了した取引をアーカイブする場合でも、抽出ワークフローがスクリーンショットのコレクションを構造化されたレコードに変換する仕組みをご紹介します。
マーケットプレイスのスクリーンショットをアップロード
ギャラリーからキャプチャ画像をドロップしてください。モバイルアプリの出品カード、デスクトップの詳細ページ、複数のアイテムが表示された検索結果などに対応しています。PNG、JPG、WebP形式であればどのソースからでも問題ありません。異なるマーケットプレイスカテゴリ(電化製品、家具、車両、レンタル)のスクリーンショットを同じバッチに混在させても、事前の仕分けは不要です。
必要なフィールドを定義
追跡用スプレッドシートの列を入力します:Item Name、Price、Condition、Location、Seller Name、Listing Status。AIが各スクリーンショットを読み取り、見つかった情報を入力します。モバイルカードからは、太字のコーナーテキストからPriceを、バッジからConditionを取得します。デスクトップページからは、サイドバーレイアウトから同じフィールドを読み取ります。特定のスクリーンショットに表示されないフィールドは空白のままになります。
統合された出品スプレッドシートをエクスポート
処理時間はスクリーンショット1枚あたり5~10秒で、各画像を開いて手動でフィールドを入力するよりも約18倍高速です。出力は、お客様が定義した列を持つ1つのXLSXまたはCSVファイルです。Statusでフィルタリングしてアクティブな出品と売却済みの出品を確認したり、Priceで並べ替えて高額アイテムを優先したりできます。Excelに直接エクスポートするか、アドオンを介してGoogle Sheetsにプッシュして継続的な追跡を行うことができます。
Facebook Marketplaceのスクリーンショット抽出が最適なケースと注意すべきケース
最適なケース
出品詳細ページの高解像度ネイティブスクリーンショット。 Facebookアプリやデスクトップサイトからの高コントラストで機械生成されたテキストは、Item NameやPriceなどのフィールドで最大99%の精度に達します。
1つのバッチ内での異なるUIバージョンの混在。 モバイルアプリのカードとデスクトップの詳細ページを、単一の列定義でまとめて処理。AIが各レイアウトに個別に適応します。
出品カードがメインの被写体であるクリーンなスクリーンショット。 出品がフレームの大部分を占める場合、AIはナビゲーションバーやおすすめなどの隣接UI要素からフィールドを分離します。
注意すべきケース
メッセージングアプリ経由で転送されたスクリーンショット。 WhatsAppやMessengerは画像を圧縮するため、Conditionバッジなどの小さなテキストの精度が低下します。最良の結果を得るには、ネイティブのスクリーンショットを使用してください。
1枚のスクリーンショットに複数の出品が含まれている場合。 AIは最も視覚的に目立つカードを読み取ります。アイテムごとにクリーンに抽出するには、各出品を個別にキャプチャしてください。
斜めから撮影した画面の写真。 映り込みや歪みにより精度が低下します。このツールはデバイスのスクリーンショットを処理するものであり、モニターの写真ではありません。スマートフォンやコンピューターでネイティブのスクリーンショットをキャプチャしてください。
よくある質問
すでに「Sold」のオーバーレイが表示されているスクリーンショットから、Item NameとPriceを抽出できますか?
はい。AIは「Sold」バッジの下にある出品データを読み取ります。オーバーレイは半透明で、Item NameとPriceを完全に隠すことはありません。Listing Status列はオーバーレイから「Sold」を取得し、Item NameとPriceはその下にある元のデータを返します。
同じスクリーンショットに表示されているスポンサーリスティングや「You Might Also Like」のおすすめは、どのように処理されますか?
AIは、サイズ、位置、構造的な手がかりといった視覚的な顕著性に基づいて主要な出品カードを識別し、そのカードのみから定義されたフィールドを読み取ります。スポンサーラベル、広告マーカー、おすすめセクションは別個の視覚要素として認識され、抽出から除外されます。メインの出品カードが切り取られていたり、スクリーンショット領域の半分未満しか占めていない場合、AIが周囲のコンテンツからそれを分離するのが困難になる可能性があります。最良の精度を得るには、対象の出品カードが主要な視覚的焦点となるようにスクリーンショットを撮影してください。
スクリーンショットのLocationに「市区町村」しか表示されていませんが、それでもツールは抽出できますか?
はい。Facebook Marketplaceは通常、価格の下に市区町村名を表示します(例:「San Francisco」や「Berkeley, CA」)。AIは表示されている場所のテキストをそのまま抽出します。市区町村名のみが表示されている場合、それがLocation列に入力されます。値はFacebookが表示することを選択した詳細を反映しており、ツールで上書きすることはできません。しかし、「San Francisco」が構造化された列にあることは、タグ付けされていないテキストに埋もれているよりもはるかに有用です。
モバイルアプリとデスクトップWebサイトの両方のFacebook Marketplaceのスクリーンショットを、1つのバッチで一括処理できますか?
はい。AIは各スクリーンショットを列定義に基づいて個別に処理します。モバイルアプリのカード(Priceが右上、Conditionがバッジ)も、デスクトップの詳細ページ(Priceが左サイドバー)も、同じフィールドに対して読み取られます。すべてのスクリーンショットが同じスプレッドシートの1行になり、アップロード前にモバイルとデスクトップのキャプチャを分ける必要はありません。
Condition列には、例えば「Used - Like New」のような完全な修飾語、それとも単に「Used」だけが取得されますか?
AIは、スクリーンショットに表示されている状態ラベルを、修飾語や補足説明も含めてそのまま取得します。バッジに「Used - Like New」と表示されていれば、Condition列には「Used - Like New」が入ります。別の出品で「New without tags」と表示されていれば、そのまま列に反映されます。Facebookでは標準的な状態ラベルが使用されていますが、出品者が状態欄に自由記述の説明を追加することもあり、AIはそのバッジやタグのテキストを、マッピングやクリーニングをせずにそのまま読み取ります。これにより、スプレッドシートでフィルタリング、並べ替え、正規化するための生の状態データを取得できます。
中古マーケットプレイスの概要に戻る — Facebook Marketplace、Vinted、Carousell、OfferUpなどをカバー。
詳細ガイド: マーケットプレイスのスクリーンショットを1つのスプレッドシートにバッチ処理する方法 · スクリーンショットからデータを抽出するための一般的なガイド