ウェブサイトHTML情報とShopify製品情報をJSON APIを介してスクレイピングする方法について説明しました。実際には、記事、製品などを表示するために複数のページがある場合がほとんどです。基本的に、私たちはそれをページネーションと呼びます。たとえば、ページ1、前のページ、次のページなどで、前のコーディングとデータセットは単一のURLページをスクレイプできます。
この記事では、Easy2Digital APIを使用してウェブページネーションとShopify製品をスクレイピングする方法について説明します。これにより、対象データセットを一括でキャプチャできるようになります。この記事の最後までに、Pandasライブラリといくつかの新しいメソッドを習得することができます。また、ビジネスニーズに基づいてスクリプトをカスタマイズすることができます。
目次:Easy2Digital APIを使用してショッピングストア製品データをスケールでスクレイピングするShopify Botを構築する
- モジュールのインポート
- ウェブサイトのページネーションURL構造の特定
- 対象データセットをスクレイプするためのコードラインの記述
- データセットを追加する
- DataFrameとto_csvメソッドを使用してデータセットをExcel形式で保存する
- Easy2Digital API – Shopify製品スクレイパー
- 無料のEasy2Digital APIトークンとShopifyスクレイパーの完全なPythonスクリプト
ウェブスクレイピングモジュールのインポート
このスクリプトでは、bs4、requests、およびPandasライブラリを使用します。 Shopifyをもう1つの例として取るので、JSONをインポートする必要があります
Pandasは、高速でパワフルで柔軟で使いやすいオープンソースのデータ分析および操作ツールです。 Pythonプログラミング言語の上に構築されています。データセットを再構築してCSV形式で保存するのにかなり便利です。
ウェブサイトのページネーションURL構造の特定
1つ目の例として、Easy2Digitalのブログフォルダを取ります。ブログパスからわかるように、page /の後に続く数字は後方ページネーションページの場所です。したがって、ページの後に変更可能な変数を作成して、スクレイピングをループさせることができます
以下は、ページネーションを「x」と設定し、forループ、range関数、およびstr関数を使用するコーディングです。
Range関数
は、0からNまでの数値のシーケンスを作成し、シーケンス内の各アイテムを印刷します。この場合、20のような数値を設定し、この数値はすでに私のブログページネーションページよりも多いです。お勧めします
Pythonのstr()関数は、オブジェクトの文字列バージョンを返します。返される値が文字列であることを保証します。
最後に、まだ空の値を持つ変数を作成する必要があります。これは、最後にスクレイピングされるデータセットを生成するために使用されます。
ShopifyのようなプラットフォームAPIを介してスクレイピングする必要がある場合は、別のWebサイトを取ることで以下のコーディングがあります- Wasserstein Home
Shopifyフロントエンド製品APIでは、JSON構造が以下のようになります。各ページには最大250個の製品データが含まれます。ページパラメータはページネーション値を表します
ウェブサイトのHTMLページネーションに非常に似ていますが、プラットフォームAPIを介してスクレイピングする必要があるだけです。
コードを書いてターゲットデータセットをスクレイピングする
既にブロックデータをスクレイピングしたので、必要なデータを見つける時間です。
以下は、Easy2Digitalブログの例です。詳細については、以前に話した別の記事を確認してください。
Webスクレイピングのデータセットを追加
CSVモジュールとGoogleで以前にスクレイピングしたデータセットを追加する方法について説明しました。ここでは、行と列のデータをより便利に操作できるPandasライブラリを使用しています。
まず、変数を作成して、スクレイピングされたデータセット名を定義します。次に、関数を追加し、データがelement_infoで定義された一意のヘッド名を持つ別の列に整理されます。
その後、len()
関数を使用して、スクレイプできるピースの数を示し、データセットのサイズが適切かどうかを把握します。
DataFrameとto_csvメソッドを使用してデータセットをExcel形式で保存
Rに精通している人は、データフレームを、データを長方形のグリッドに格納する方法として知っているかもしれません。これらのグリッドの各行は、インスタンスの測定値または値に対応します。そして、各列は、特定の変数のデータを含むベクトルです。つまり、データフレームの行には、同じタイプの値を含める必要はありませんが、含めることができます。数値、文字、論理値などが含まれます。
Pythonのデータフレームは非常に似ており、Pandasライブラリで提供されています。一般的に、Pandas DataFrameは3つの主要なコンポーネントで構成されると言えます。データ、インデックス、列です。
データフレーム関数とto_csv関数を使用するので、以下はShopify製品ページネーションスクレイパーの最終スクリプトと生成されたExcelファイルです。
Easy2Digital APIを使用-Shopify製品スクレイパー
スクリプトが複雑であり、オンとオフでスクリプトを更新してバグを修正する必要がある場合は、Easy2Digital Shopify Product Scraper APIを利用できます。以下がトークンエンドポイントです。
https://www.buyfromlo.com?token=&ysiteURL=&protocal=
このAPIエンドポイントを使用すると、Easy2Digitalトークン、対象店舗ドメインブランド名、およびスクレイピングする目的のトップレベルドメインまたはサブドメインの種類(www、us、HKなど)を追加するだけでよく、スクレイピング結果は上記と同じです。.
マーケティングAPIの詳細については、このページをご覧ください。
Shopify製品フィードデータスクレイパーのフルPythonスクリプト
無料のAPIトークンとShopify Botの完全版のPythonスクリプトを取得したい場合は、Pythonチュートリアル10というメッセージを追加して、ニュースレターに登録してください。私たちはあなたのメールボックスにASAPを送信します。
パスに移動する
$ chmod 400 .pem
$ ssh -i .pem ubuntu@
両方のコマンドは、インスタンス接続ページからコピーできます。行って、探索してください!この記事よりも更新された機能を見つけることができるかもしれません。AWSは、競合他社と比較して、より脂っこく、油っこくなる傾向があります。
EC2にFlaskアプリを追加する
ここまで来たら、通常の方法でFlaskを設定してアプリを展開するだけです。以下の手順に従ってください:
- Python virtualenvをインストールする
$ sudo apt-get update
$ sudo apt-get install python3-venv
- 新しいディレクトリで新しい仮想環境をアクティブにする
// ディレクトリを作成する
$ mkdir lovely
$ cd lovely
// 仮想環境を作成する
$ python3 -m venv venv
// 仮想環境をアクティブにする

- PayPal (paypal.me/Easy2digital)を通じて弊社チャンネルをサポートおよび寄付を行う
- Easy2Digital YouTubeチャンネルの登録と通知ベルをオンにする。
- Easy2Digital Facebookページをフォローしていいね!を押す
- ハッシュタグ#easy2digitalを使用して、ソーシャルネットワーク上で記事を共有する
- Easy2Digitalの最新記事、動画、割引コードを受け取るために、週刊ニュースレターに登録する
- www.patreon.com/louisludigitalを通じて、独占的な特典をお楽しみいただくための月額会員に登録する