プログラミングの知識があるかどうかに関係なく、Web スクレイピングの実行は複雑で困難な作業のように思えるかもしれません。ただし、ChatGPT とコード インタープリター プラグインを使用すると、プロンプト 1 つで数秒で Web ページから情報を抽出できるため、多くのコード行と手間が省けます。
次に、ChatGPT を使用して Web スクレイピングを簡単かつ実用的な方法で実行する方法を 3 つの例を通して見ていきます。すべてを段階的に説明します。
はじめましょう...\
1) ウォルマート
ウォルマートのオンラインストアの「Shop All Back to School」セクションを使用します。以下に直接リンクを提供します。
新学期向け商品をすべて新学期向けに購入 - Walmart.com
Back to School ですべての新学期ストアを購入してください。JLab Audio JBuddies Studio Kids On-Ear... などの製品を購入する
ステップ 1: 抽出するフィールドを定義する
抽出したい情報を定義する必要があります。これは、後で ChatGPT でプロンプトを作成するのに役立つため、非常に重要です。
この場合、製品名と価格を取得します
ステップ 2:コードを確認する
ここでは、1 つの製品のコードを定義する必要があります (例として、それを ChatGPT に入力します)
ただし、その前に、留意すべき点がいくつかあります。
Windows を使用している場合、Chrome の要素の検査機能にアクセスするには、次の 2 つのキーボード ショートカット オプションがあります。
a) + Shift + Cを押します
または
b) + Shift + i を押します。
macOS を使用している場合は、次を使用します。
a) alt + コマンド + i
または
b) オプション + コマンド + i
これを念頭に置いて、ウォルマートのウェブサイトをチェックしてみましょう。次のセクションを確認してみましょう。
i) 製品名
この場合、クロールするコード内で製品名を見つける必要があります。
これをコピーしてプロンプトに含めてみましょう。スパンタグ \をコピーするには、セクションの上にマウスを置き、右クリックすると、次のものが表示されます。
今のところ、これをコピーするだけですが、実用的な目的のために、後でプロンプトに含めるために手元に置いておきます。
<span data-automation-id="product-title" class="normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy">ニンテンドー キッズ スーパーマリオブラザーズ マリオワールド 17 インチ ラップトップ バックパック
ii) 価格
価格フィールドにも同じことを行います
コピーした価格フィールドの要素は、後で使用できるように保持します。
$14.92
Web ページからさらに多くの部分を抽出する必要がある場合は、製品名と価格について行ったのと同じ手順を繰り返す必要があります。
ヒント: \コード領域内でチェックするフィールドをすばやく見つけるには、フィールド上にマウスを置き、右クリックして、チェック オプションを有効にするだけです。
ステップ 3: HTML ファイルを保存する
コードインタープリターを使用するので、コードインタープリターにファイルを添付する必要があります。したがって、私たちがやりたいことは、スクレイピングしたいページをHTMLファイルとして保存することです。
ページに戻り、キーボード ショートカット Ctrl + S を使用します ( Windows および macOS で使用可能)。
キーボード ショートカット: Ctrl + s を押します。
次に、ファイルをローカル フォルダーにHTML形式で保存します。
ステップ 4: HTML ファイルをアップロードし、プロンプトを生成する
Web 上でクロールするフィールドとそのコードを定義したので、ChatGPT でプロンプトを構築しましょう。
コードインタープリタをまだアクティブにしていない場合は、いくつかの指示に従ってください。それ以外の場合は、このセクションをスキップして、構築プロンプトに直接進むことをお勧めします。
i) 設定
ii) コードインタープリタを開きます。
ChatGPTでコード インタープリタを有効化したら、手順 3で保存したHTMLファイルをアップロードしましょう
次に、製品名と価格、各セクションのコードを考慮してプロンプトを作成しましょう (不明な場合は、ステップ 2を確認してください) 。
ヒント: HTML ファイルから製品名と価格を抽出し、データを表に配置し、CSV ファイルとしてエクスポートします。
これは製品要素です: <span data automation id="product title" class="normal dark grey MB0 mt1 lh-title f6 f5-l lh-copy">Nintendo Kids スーパーマリオブラザーズ マリオワールド 17 インチ ラップトップ バックパック
価格の要素は次のとおりです。
$14.92商品の価格が欠落している場合は、価格を空のデータのままにしておきます
プロンプトでは、04 セクションがあることがわかります。
最初の段落では、HTMLファイルをロードしたことを指定し、そのファイルに製品名と価格をスクレイピングするように依頼します。これが完了したら、データを CSV ファイルにエクスポートするようにリクエストします。
2 番目と 3 番目の段落では、製品名フィールドと価格フィールドに対応するそれぞれの構造の例をChatGPTに示します。各製品がspan\タグであり、価格がdivタグであることがわかります\
最後の段落では、価格に null 値が見つかった場合は、 null\データを割り当てるように依頼します。
今後の例は同じ構造を持ち、フィールドとそのコードのみが変更されるため、このヒントを必ず念頭に置いてください。
結果:
CSV\ファイルをダウンロードして開きます
最後に、製品とそれぞれの価格を Web スクレイピングして、表の画像に示すようにCSVファイルにエクスポートしました。サンプルとして使用した製品も含まれますのでご注意ください。
ボーナス
前の手順により、 Walmart Web サイトの最初のページ( 01 )から Web スクレイピングを実行できるようになりました。ただし、2 番目 ( 02 ) ページからデータを抽出する場合は、前と同じ手順を実行しますが、この新しいページで製品を識別し、それをプロンプトの例として含めることを忘れないでください。
ウォルマート Web サイトの新学期セクションのページ 02
i) 製品名
<span data-automation-id="product-title" class="normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy">Minecraft ボーイズ クリフ ゴート グラフィック T シャツ、2 枚パック、サイズ 4– 18
ii) 価格
$13.96
最初のページと同様に、2 番目のページ( 02)のファイルをHTML\形式で保存する必要があります(質問がある場合は、ステップ 03を確認してください)。
ヒント
HTMLファイルから商品名と価格を抽出し、表にまとめてCSVファイルにエクスポートします。
これは製品の要素です: <span data-automation-id=”product-title” class=”normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy”>Minecraft Boys Cliff Goats グラフィック T シャツ、2 ケースパック、サイズ 4 ~ 18
価格の要素は次のとおりです。
$13.96商品の価格が欠落している場合は、価格を空のデータのままにしておきます
2 つのテーブルを 1 つにマージしたい場合は、ChatGPTに次のことを実行するように依頼できます。
2. 目標
2 番目の例では、ターゲットWeb サイトのモバイル部分からWeb スクレイピングを実行します。直接続行します。疑問がある場合は、ウォルマートの最初の例の手順を参照してください。
直接リンクは次のとおりです。
モバイル: ターゲット
お気に入りの携帯電話である Target を低価格で購入しましょう。同日配達、車での持ち込み、または引き取りの注文を選択してください...
ステップ 1: 抽出するフィールドを特定しましょう
a) 製品 b) ブランド c) 価格
次に、各ターゲット フィールドのコード レベルを確認してみましょう (ステップ 2 を参照)
検査用のキーボード ショートカット: Ctrl + Shift + c ( Windows ) または * Alt + Command + i* ( macOS )
ステップ 2: コードを確認する
i) 製品
コードとタグを見つけます。コードをコピーして保存し、後で ChatGPT プロンプトに組み込めるようにします (疑問がある場合は、最初の Walmart の例のステップ 02 を確認してください)。
<a href=”/p/tracfone-prepaid-apple-iphone-se-2nd-gen-64gb-cdma-black/-/A-82040163#lnk=sametab” aria-label=”Tracfone プリペイド Apple iPhone SE 第 2 世代(64GB) CDMA — ブラック” class=”styles__StyledLink-sc-vpsldm-0styles__StyledTitleLink-sc-14ktig2–1fajhWk gkIDAW h-display-block h-text-bold h-text-bs” data-test=”product-title ">Tracfone プリペイド Apple iPhone SE 第 2 世代(64GB) CDMA — ブラック
ii) ブランド
<a href=”/b/apple/-/N-5y3ej” class=”styles__StyledLink-sc-vpsldm-0 lnixiM h-text-sm h-text-grayDark” data-test=”@web/ProductCard/ProductCardBrandAndRibbonMessage/ブランド>アップル
iii) 価格
$189.99
ステップ 3: HTML ファイルを保存する
スクレイピングするページをHTMLファイルとして保存します ( Walmart の例のステップ3を参照)
ステップ 4: HTML ファイルをアップロードし、プロンプトを生成する
プロンプトを作成しますが、前の例とは異なり、携帯電話のブランド フィールドを含めます (ウォルマートの例のステップ4を参照)。
HTMLファイルをロードし、スクレイピングする各フィールド (製品名、ブランド、価格) のコードを追加します。
ヒント: HTML ファイルから製品名、ブランド、価格を抽出し、データを表に配置し、CSV ファイルとしてエクスポートします。すべての製品を抽出する
これは製品要素です: <a href="/p/tracfone-prepaid-apple-iphone-se-2nd-gen-64gb-cdma-black/-/A-82040163#lnk=sametab" aria-label=" Tracfoneプリペイド Apple iPhone SE 第 2 世代 (64GB) CDMA — ブラック” class="styles__StyledLink-sc-vpsldm-0styles__StyledTitleLink-sc-14ktig2–1 fajhWk gkIDAW h-display-block h-text-bold h-text-bs" data - test="product-title">Tracfone プリペイド Apple iPhone SE 第 2 世代 (64GB) CDMA — ブラック
ブランドの要素は次のとおりです: <a href="/b/apple/-/N-5y3ej" class="styles__StyledLink-sc-vpsldm-0 lnixiM h-text-sm h-text-grayDark" data-test= "@ web/ProductCard/ProductCardBrandAndRibbonMessage/brand">Apple
価格の要素は次のとおりです。
$189.99商品の価格が欠落している場合は、価格を空のデータのままにしておきます
結果
CSV\ファイルをダウンロードして開きます
結果は素晴らしく、 Target Web サイトからすべてのデータを収集することができました。
3) アマゾン
最後の例では、Kindle 本の Web スクレイピングを実行します。どの本が最も人気があるのかを確認し、ChatGPT を使用してさまざまなトレンドのトピックに関するストーリーを作成するのは楽しいかもしれません。
リンクは次のとおりです。
Amazon.co.jp: 電子書籍 Ignite
新学期向け 障害者向けカスタマーサポート 大学クリニック近く ベストセラーカスタマーサービス Amazon ベーシック ミュージック...
ステップ 1: 抽出するフィールドを特定しましょう
a) 製品またはタイトル b) 著者 c) 価格
ステップ 2: コードを確認する
i) 製品またはタイトル:
コードとタグを見つけます。コードをコピーして保存し、後でChatGPTプロンプトに組み込めるようにします(疑問がある場合は、最初のWalmart の例のステップ02を確認してください)。
確認するキーボード ショートカットは、Ctrl + Shift + c ( Windows ) またはAlt + Command + i ( macOS) です。詳細については、ステップ 2を参照してください。
<span class=”a-size-base-plus a-color-base a-text-normal”>化学のレッスン:小説
ii) 著者
<a class="a-size-base a-link-normal s-underline-text s-underline-link-text s-link-style" href="/Bonnie-Garmus/e/B09964CPY4?ref=sr_ntt_srch_lnk_1&qid=1690568130&sr =8–1">邦妮・加モニス
iii) 価格
この例では、価格の整数部分のみを抽出することに注意してください。
14.
ステップ 3: HTML ファイルを保存する
クロールする Web ページをHTMLファイルとして保存します。これを行うには、保存したいページ上でショートカットCtrl + Sを使用します。ファイルをHTML形式で保存することを忘れないでください ( Walmart の例のステップ3で詳細を確認してください)。
ステップ 4: HTML ファイルをアップロードし、プロンプトを生成する
ここで、Amazon の Web ページ、特に Kindle 本セクションから抽出したいフィールドに基づいてプロンプトを作成しましょう。この場合、タイトル、著者、価格を抽出したいと考えています。
次に、HTMLファイルをロードし、各必須フィールド (タイトル、作成者、価格\ )を取得するコードを追加します。
ヒント: HTML ファイルから製品名、作成者、価格を抽出し、データを表に配置して CSV ファイルにエクスポートします。
これは製品要素です: <span class="a-size-base-plus a-color-base a-text-normal">化学のレッスン: 小説
著者の要素は次のとおりです: <a class="a-size-base a-link-normal s-underline-text s-underline-link-text s-link-style" href="/Bonnie-Garmus/e/B09964CPY4 ?ref=sr_ntt_srch_lnk_1&qid=1690568130&sr=8–1">ボニー ガーマス
価格要素は次のとおりです。14 .
商品の価格が欠落している場合は、価格を空のデータのままにしておきます
先ほどの例のプロンプトが同じ構造であることを見てみましょう。
結果
CSV\ファイルをダウンロードします
成功しました!
概要と推奨事項
- ChatGPTに URL を直接入力しようとすると、コード インタプリタがアクティブ化されていてもWeb スクレイピングを実行できません。このため、スクレイピングするページをHTMLでダウンロードします。
- ChatGPT は、抽出されるフィールドのラベルを最初は認識しない可能性があり、誤った情報を提供する可能性があります。この時点で、別のチャットを開いてプロンプトを再度実行することをお勧めします。
- コードインタープリターは、Web スクレイピングにPythonと BeautifulSoup などのライブラリを使用することを覚えておく必要があります。
- この方法は従来のWeb スクレイピングに代わるものではありませんが、時間とコード行を節約できます。
- 03 個の Web スクレイピングの例を含むストーリーで見られる内容は、プログラミングに携わる人と、この分野についてほとんどまたはまったく知らない人の両方を対象としています。
- Web スクレイピングで何が達成できるかは興味深いものです。上で述べたように、ドロップシッピングに焦点を当てたり、 Kindle 本を作成したり、ベストセラー本を考慮したり、競合他社の価格を分析したり、特定の製品を追跡したりできます。
この完全なガイドは、ChatGPT を使用した Web スクレイピングの代替手段を必要とする人を対象としています。事前のプログラミング知識は必要ありません。好奇心と忍耐力だけが必要です。次のストーリーでお会いしましょう。ご多幸をお祈りします!