Screaming Frog カスタムエクストラクションズ。クロールデータ抽出のためのガイド

Screaming Frogは、検索エンジン最適化機能を多数搭載した強力なSEOツールです。あまり知られていない機能の1つであるScreaming Frog Custom Extractionは、クロールから簡単にデータを抽出することができます。このブログ記事では、Screaming Frog Custom Extractionの仕組みと、なぜそれがSEO対策の改善に役立つのかについて説明します

スクリーミングフロッグ カスタムエクストラクション

Webサイトには多くの有用な情報がありますが、多くの場合、Webサイトのすべてのページを訪問して製品データをコピーするのは手間です。 メタデータ, タイトルタグそして アンカーテキスト をスプレッドシートに変換します。そこでScreaming Frogは、カスタムデータ抽出でプロセスを自動化することで救いの手を差し伸べます。カスタム抽出は ウェブスクレイピングウェブハーベスティング、またはウェブ データ抽出 は、ウェブサイトからデータをスクレイピングして抽出し、自分のコンピュータにローカルに保存できるようにするために使用されます。

初心者の方へ、疑問に思うことを。

Screaming Frog SEO Spiderとは何ですか?

があります。 Screaming Frog SEO Spider は、WebサイトのデータをGUIで抽出・解析し、サイト内SEOを向上させるWebサイトクローラーです。

カスタムエクストラクションとは何ですか?

カスタムエクストラクションはScreaming Frogs SEO スパイダーは、ウェブページから明示的な情報を抽出する機能を備えています。これらの抽出は、あなたのサイトを以下のように最適化するのに役立ちます。 テクニカルSEO検索結果を含むコピーに関する重要なデータを収集し、エラーの検出と修正を支援します。

データ抽出はどのように行われるのですか?

データ抽出のプロセスでは、Screaming Frogのウェブスパイダーを使用してWebサイト上の必要なデータを取り出します。その情報は スクリーミングフロッグの記憶にエクスポートすることができます。 エクセル または グーグルシート をご覧ください。

なぜデータ抽出が重要なのか?

データ抽出により、大量のデータを迅速かつ効率的に採取することができます。この自動化により、以下のような結果をすぐに得ることができます。 ウェブアーキテクチャ.このプロセスにより、時間とリソースを節約しながら、検索エンジン最適化戦略の立案と戦略に必要な貴重なデータを得ることができます。  

Screaming Frogは、SEO担当者がよく使うWebスクレイパーツールです。オプションは無限大です。ここにはたくさんのカスタムウェブスクレイピング構文があります。

Screaming Frogを使用してカスタムデータを抽出する方法

1.ScreamingFrogで、次のページに進みます。 設定」→「カスタム」→「抽出」。

スクリーミングフロッグ カスタムエクストラクション
スクリーミングフロッグ カスタムエクストラクション

2.次に、次のことを行います。 +Add をクリックし、抽出ルールを設定します。

カスタム抽出設定
カスタム抽出タブで内部HTMLの要素を選択する

3.を追加する。 タイトル,
4.必要な場合は選択してください。 CSSPathです。 エクスパットまたは レジェックス,
5.を追加します。 検索機能.

どのセレクタや関数が必要なのかわからない場合は、以下の例を見ていただくか、または、inspect要素の関数で グーグルクロームデバイスツール.Google Chromeブラウザで「右クリック」すると、Dev Toolsを開くことができます。

以下は、Facebook PixelのIDを取得するためのスクレイピングの例です。

FacebookピクセルID抽出
FacebookピクセルID抽出

での 結果ご覧の通り、私のページの1つにはFacebook Pixelがありません。

Facebook IDの紛失
Facebook IDの紛失

以下は、あらかじめ定義されたカスタム抽出データセットです。

XPath Webスクレイピングを利用するための基本的な構文

シンタックス機能
//文書内の任意の場所を検索
/のルート内を検索します。 ウェブサイト
@要素の特定の属性を選択する
*ワイルドカードは任意の要素を選択するために使用されます
[ ]特定の要素を検索する
.現在の要素を指定する
..親要素を指定する

エクスパット 機能

エックスパスOUTPUT
//h1すべてのH1タグを抽出する
//h2[1]最初のH2タグを抽出する
//h2[2]2つ目のH2タグを抽出する
//div/pを抽出します。 <p> に含まれる。 <div>
//div[@class='author']です。を抽出します。 <div> クラス "author "を持つ
//p[@class='content']です。を抽出します。 <p> クラス "コンテンツ "を持つ
//*[@class='content'].クラス "content" を持つ任意の要素を抽出する。
//ul/li[last()]の場合
    内の最後の
  • を抽出する。
//ol[@class='cat']/li[1]です。クラス "cat "を持つ
    内の最初の
  1. を抽出する。
カウント(//h2)H2の数を数える(抽出フィルターを「関数値」に設定する)
//a[contains(.,'learn more')]]."learn more" を含むアンカーテキストを持つリンクを抽出します。
//a[starts-with(@title,'Written by')]."Written by "で始まるタイトルを持つリンクを抽出します。

一般的なHTML要素を抽出する方法

エックスパスOUTPUT
//参照すべてのリンクを抽出する
//a[starts-with(@href,'mailto')]/@hrefmailto:」(メールアドレス)で始まるリンクを抽出します。
//a[starts-with(@href,'tel')]/@hreftel:"(電話番号)で始まるリンクを抽出します。
//img/@srcすべての画像ソースURLを抽出する
//img[contains(@class,'aligncenter')]/@srcクラス名 "aligncenter" を含む画像のソース URL をすべて抽出します。
//リンク[@rel='alternate']です。rel属性が "alternate "に設定されている要素を抽出する。
//hreflangすべての hreflang 値を抽出する

メタタグの抽出(内側のHTML要素を使用)

エックスパスOUTPUT
//meta[@property='article:published_time']/@content記事の公開日を抽出(WordPressのWebサイトでよく見られるmetaタグ)

オープングラフの抽出

エックスパスOUTPUT
//meta[@property='og:type']/@contentOpen Graph型オブジェクトを抽出する
//meta[@property='og:image']/@contentOpen Graphのフィーチャー画像のURLを抽出します。
//meta[@property='og:updated_time']/@contentオープングラフの更新時刻を抽出する

ツイッターカードを抽出する

エックスパスOUTPUT
//meta[@name='twitter:card']/@contentTwitterカードの種類を抽出する
//meta[@name='twitter:title']/@contentTwitterカードのタイトルを抽出する
//meta[@name='twitter:site']/@contentTwitterカードサイトオブジェクト(Twitterハンドル)を抽出します。

スキーマタイプを抽出する

エックスパスOUTPUT
//*[@itemtype]/@itemtypeページ上のすべてのタイプのスキーママークアップを抽出します。

パンくずスキーマの抽出

でパンくずをチェックするために使用するカスタム抽出は以下の通りです。 スクリーミングフロッグ.

エックスパスOUTPUT
//*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop]/a/@hrefすべてのパンくずリンクを抽出する
//*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop][1]/a/@href最初のパンくずリンクを抽出する
//*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop].パンくずの名前を抽出する(抽出フィルタを「テキストを抽出」に設定)。
count(//*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop])パンくずリスト項目の数を数える(抽出フィルタを "関数値 "にする)

製品スキーマを抽出する

エックスパスOUTPUT
//*[@itemprop='name']/@content製品名を抽出する
//*[@itemprop='description']/@content商品説明文の抜粋
価格] //*[@itemprop='price']/@content製品価格を抽出する
価格通貨] //*[@itemprop='priceCurrency']/@content製品通貨を抽出する
//*利用可否について製品の在庫状況を抽出
//*[@itemprop='sku']/@content製品SKUを抽出する

レビュースキーマの抽出

エックスパスOUTPUT
//*[@itemprop='reviewCount']を指定します。レビュー回数を抽出
//*[@itemprop='ratingValue']を指定します。レーティング値を抽出する
//*[@itemprop='bestRating']です。最適なレビュー評価を抽出
//*レビュー]/*[@itemprop='name']。レビュー名を抽出する
//*レビュー]/*[@itemprop='author']。レビュー執筆者を抜粋
//*レビュー]/*[@itemprop='datePublished']/@contentレビューの公開日を抽出する
//*[@itemprop='review']/*[@itemprop='reviewBody'].レビューの本文を抜粋

ローカルビジネスと組織のスキーマを抽出する

エックスパスOUTPUT
//*[contains(@itemtype,'organization')]/*[@itemprop='name'].組織名を抽出する
//*住所]/*[@itemprop='streetAddress']を指定します。ストリートアドレスを抽出する
//*住所]/*[@itemprop='addressLocality']を指定します。アドレスの局所性を抽出する
//*住所]/*[@itemprop='addressRegion']。アドレス領域を抽出する
//*[@itemprop='telephone'].電話番号を抽出する
//*[@itemprop='sameAs']/@hrefsameAs "リンクを抽出します。

記事スキーマを抽出する

エックスパスOUTPUT
//*[contains(@itemtype,'Article')]/*[@itemprop='headline'].記事の見出しを抽出する
//*[@itemprop='author']/*[@itemprop='name']/@content著者名を抽出する
//*出版社]/*[@itemprop='name']/@content出版社名を抽出する
//*内容物発行日を抜粋
//*[@itemprop='dateModified']/@content更新日時を抽出する

によるカスタムデータ抽出 レジェックス

ワイルドカード

シンタックス機能
.任意の1文字にマッチする
*直前の文字に0回以上マッチする
?直前の文字に0回または1回マッチする
+直前の文字に1回以上マッチする
|オア

アンカー

シンタックス機能
^文字列は、後続の文字から始まります。
$文字列は直前の文字で終了する。

グループ

シンタックス機能
( )囲んだ文字を正確な順序で一致させる
[ ]囲んだ文字を任意の順序でマッチング
-指定された範囲内の任意の文字にマッチする

エスケープ

シンタックス機能
\文字を正規表現としてではなく、文字として扱う。

Regexカスタムデータ抽出

リジェックスOUTPUT
["'](ua-.*?)["']です。Google AnalyticsのトラッキングIDを抽出する
["'](G-.*?)["']Google Analytics 4(GA4)のトラッキングIDを抽出します。
["'](aw-.*?)["']です。Google AdsのコンバージョンIDやリマーケティングタグを抽出します。
["'](gtm-.*?)["'].Google タグマネージャおよび Google オプティマイズの ID を抽出します。
fbq\(["']init["'], ["'](.*?)["']Facebook Pixel IDを抽出する
\♪♪♪♪~Bing Ads UETタグの抽出
adroll_adv_id = ["'](.*?)["'].AdRollの広告主IDを抽出する
adroll_pix_id = ["'](.*?)["'].AdRollのPixel IDを抽出します。

すべてのスキーママークアップとスキーマタイプを抽出する

リジェックスOUTPUT
["']application/ld+json["']>(.*?).JSON-LDスキーマのマークアップをすべて抽出します。
["']@type["']:*["'](.*?)["']ページ上のJSON-LDスキーママークアップの全種類を抽出します。

パンくずスキーマの抽出

リジェックスOUTPUT
["']item["']:*["']@id["']:*["'](.*?)["']パンくずリンクの抽出
["']item["']:*{["']@id["']:*["'].*?["'], *["']name["']:*["'](.*?)["']パンくずの名前を抽出する

製品スキーマを抽出する

リジェックスOUTPUT
["']@type["']:*["']Product["'].*?["']name["']:*["'](.*?)["']製品名を抽出する
["']@type["']:*["']Product["'].*?["']description["']:*["'](.*?)["']商品説明文の抜粋
["']@type["']:*["']Product["'].*?["']price["']:*["'](.*?)["']製品価格を抽出する
["']@type["']:*["']Product["'].*?["']priceCurrency["']:*["'](.*?)["']製品通貨を抽出する
["']@type["']:*["']Product["'].*?["']availability["']:*["'](.*?)["']製品の在庫状況を抽出
["']@type["']:*["']Product["'].*?["']sku["']:*["'](.*?)["']製品SKUを抽出する

レビュースキーマの抽出

リジェックスOUTPUT
["']reviewCount["']:*["'](.*?)["']レビュー回数を抽出
["']ratingValue["']:*["'](.*?)["']レーティング値を抽出する
["']bestRating["']です。*["'](.*?)["']最適な評価を抽出する

ローカルビジネスと組織のスキーマを抽出する

リジェックスOUTPUT
["']@type["']:*["']Organization["'].*?["']name["']:*["'](.*?)["']組織名を抽出する
["']streetAddress["']です。*["'](.*?)["']ストリートアドレスを抽出する
["']addressLocality["']です。*["'](.*?)["']アドレスの局所性を抽出する
["']addressRegion["']です。*["'](.*?)["']アドレス領域を抽出する
["']電話["']:*["'](.*?)["']電話番号を抽出する
["']sameAs["']:*\[(.*?)\]sameAs "リンクを抽出します。

ArticleまたはBlogPosting Schemaを抽出する。

リジェックスOUTPUT
["']ヘッドライン["']:*["'](.*?)["']記事の見出しを抜粋
["']author["'].*?["']name["']:*["'](.*?)["']著者名を抽出する
["']publisher["'].*?["']name["']:*["'](.*?)["']出版社名を抽出する
["']datePublished["']:*["'](.*?)["']発行日を抜粋
["']dateModified["']:*["'](.*?)["']更新日時を抽出する

このリストに追加してほしい抽出物があれば教えてください。


発行日:2021-03-10
更新日: 2023-02-22

アイザック・アダムス=ハンズのアバター

アイザック・アダムス・ハンズ

アイザック・アダムス・ハンズは、検索エンジン最適化サービスを提供するSEO North社でSEOディレクターを務めています。SEOのプロフェッショナルとして、アイザックはオンページSEO、オフページSEO、テクニカルSEOの分野で豊富な専門知識を持ち、競合他社を圧倒している。
jaJapanese