AdsPower
AdsPower

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

By AdsPower||1,065 Views

480 万以上のストアを持つ Shopify は、主要な e コマース プラットフォームとしての地位を確立しています。近年、Shopify の収益は過去の記録を破り、年間 70 億 6000 万ドルを超えています(Shopifyの2023年度財務実績

これらの数字を見ると、プラットフォームが持つ広範なeコマースデータは非常に貴重であることがわかります。このデータは、企業やアフィリエイトマーケターが優位に立ち、市場動向を把握し、商品ラインナップを改良する上で大きな可能性を秘めています。

一般的な考えとは異なり、このデータにアクセスするために必ずしも高度なコーディングスキルは必要ありません。

このブログでは、初心者向けのノーコードShopifyスクレーパーの活用方法と、プログラミング経験のある方向けにPythonでShopifyスクレーパーを開発する方法をご紹介します。

Shopifyのデータを活用してどのように優位性を獲得できるか、詳しく見ていきましょう。

Shopify をスクレイピングできますか?

Shopifyの利用規約お客様は、ロボット、スパイダー、スクレーパー、その他の自動化手段を使用して、本サービスにアクセスしたり、本サービスから取得した資料または情報を監視したりしないことに同意するものとします。

この条項はアカウント規約セクションに含まれており、すべてのShopifyユーザーはアカウント作成時にこれに同意するものとします。

したがって、Shopifyアカウントをお持ちの場合は、スクレイピング活動への使用を控えることが不可欠です。これは、通常のShopifyユーザーとビジネスアカウント保有者の両方に適用されます。

Shopifyスクレイパーを使用してプラットフォームデータを抽出すると、システムによって検出され、アカウントが停止されるリスクがあります。

Shopify API 利用規約 では、API の使用を許可された範囲を超えて制限しているため、Shopify のスクレイピングに使用しようとしても、残念ながら失敗に終わります。

つまり、2 つのことが明らかです。 Shopifyアカウントにログインしている間は、外部のShopifyスクレイパーツールやスクリプトを使用しないでください。また、公式APIをShopifyスクレイパーとして使用しないでください。

では、Shopifyをどのようにスクレイピングすればよいのでしょうか?ご安心ください。これらの制限は、プライベートデータのスクレイピングに関するものです。Shopifyスクレイパーをサイト上で実行することは可能です。

公開されているデータのみをスクレイピングするようにしてください。また、Shopify のエクスポートしたデータは、削除される可能性があるため、複製目的で使用しないでください。このケース

倫理的な利用であれば、あらゆるプラットフォームから公開されているデータをスクレイピングすることは許可されているというのが、非公式の世界的コンセンサスです。

Shopifyスクレイパー:2つの異なるアプローチ

それを踏まえて、Shopifyスクレイピングテクニックについてさらに詳しく見ていきましょう。

コード不要のShopifyスクレイパー

スクレイピングがコーディング担当者の仕事だった時代は終わりました。今では、スクレイピングを簡単に行えるコード不要のソリューションが数多く市場に出回っています。

これらのツールの中で、ParseHub、ApifyのShopify Scraper、Shopify Product Scraperが市場をリードしています。

このガイドでは、ParseHub を使用して Shopify 商品スクレーパーを作成する手順を段階的に説明します。さあ、始めましょう。

ステップ 1: ダウンロードしてアカウントを作成

ParseHub にアクセスするには、お使いのオペレーティング システム用のセットアップ ファイルをダウンロードし、ソフトウェアをインストールしてください。

ParseHub を開き、サインアップフォームに名前、メールアドレス、強力なパスワードを入力して、「登録」ボタンをクリックしてください。


Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

ステップ 2: 新しいプロジェクトを開始する

ログインすると、「新しいプロジェクト」というボタンが表示されます。クリックしてください。


Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

次の画面で、スクレイピングするShopifyストアのURLを指定されたバーに貼り付けます。

このデモでは、このストア

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

ストアの対象ページへのリンクを貼り付けた後、バーの下部にあるボタンを押してください。

指定されたページは画面の右側に読み込まれます。


Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

ヒント:プロジェクト名を変更すると、将来他のファイルと区別しやすくなります。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

shopify_products のように、関連性のある名前を付けてください。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法


ステップ3:スクレイピングする要素の選択を開始する

ParseHub では、スクレイピングしたい要素(商品名、価格、評価など)をクリックするだけで、選択内容を記憶します。

Shopify 製品スクレイパーを作成中なので、まずは製品タイトルから始めます。製品タイトルは緑色に、その他の要素は黄色に変わります。


Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

別の商品タイトルを選択すると、すべて緑色になります。


Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

製品名とURLを示すプレビュー表が表示されます。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

ステップ 4: 選択範囲の名前を変更する

選択範囲に適切な名前を付けます。製品の URL と製品名を抽出するため、この例では「product」という名前を付けました。

プロジェクトのすべての選択範囲の名前を適切に変更することをお勧めします。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

ステップ5:プロジェクトを開始する

スクレイピングしたい要素が他にもある場合は、手順3と4を繰り返します。商品名とURLだけを取得したいので、Shopifyのウェブスクレイパーのワークフローは次のようになります。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法


Shopify製品スクレーパーを起動するには、「データを取得」ボタンを押し、次の画面で「実行」を選択するだけです。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

データ量によっては、多少の時間がかかります。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

さあ、これで完了です!お好みのダウンロードオプションを選択するだけです。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

例えば、ファイルをShopify_products.jsonとして保存しました。

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法


Python を使った Shopify スクレイパーの作成

ノーコードツールは、間違いなく作業を10倍楽にします。しかし、それらには独自の制限があります。例えば、スクレイピングしたい種類のデータを取得するためのメカニズムが備わっていない場合があります。また、一度にスクレイピングできるデータ量にも制限がある場合があります。

これは、複雑なスクレイピングタスクのためにShopifyスクレイパーをコーディングする必要がある理由の答えです。プログラミングスクリプトを使用すると、ニーズに合わせて独自の制限を設定できます。ページ上のあらゆるデータをスクレイピングできます。そのためのプログラムを書くだけで済みます。

スクレイピングに Python 以上の優れた言語があるでしょうか?シンプルで読みやすい構文と、便利なパッケージの大規模なライブラリを備えています。

Shopifyストアには、スクレイピングを非常に簡単に行える独自の機能があります。すべてのShopifyストアには、公開アクセス可能なproduct.jsonファイルがあります。このファイルには、ストアの全商品在庫に関するデータが含まれています。各商品の名前、一意のID、価格、ベンダー、説明、その他多数の詳細が含まれています。

このShopifyのproduct.jsonファイルにアクセスするには、「products.json」をストアのルートURLの末尾(つまりhttps://helmboots.com/products.json

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

Shopify製品スクレーパーをコーディングしたい場合は、このShopify products.jsonファイルを使えば面倒な作業から解放されます。

これで、Shopify Webスクレーパーからこのファイルにリクエストを送信し、必要なデータをすべて抽出するだけになります。

それでは、Shopify Python スクレーパーのプログラミングを始めましょう。

ステップ 1: 必須ライブラリのインポート

Python ファイル(python_shopify.py)を作成し、パッケージをインポートします。以下のライブラリが必要です:

  • Json
  • リクエスト
  • パンダ

インポートjson
インポートpandas として pd
インポートリクエスト


ステップ 2: ストアの products.json ファイルを取得する

サイトの URL とページ番号を引数として受け取り、ストアの product.json ファイルを返す関数 fetch_json を作成します。1 ページあたりの商品数の制限は 30 個に設定しています。

この関数には、いくつかのエラーに対する例外処理も含めます。

def fetch_json(url, ページ):

試してください:
response= requests.get(f'{url} /products.json?limit=30&page={page} '、 タイムアウト=5)
products_json = response.text
response.raise_for_status()
返品 products_json

ただしrequests.exceptions.HTTPError として error_http:
print("HTTP エラー:", error_http)

ただしrequests.exceptions.ConnectionError として error_connection:
print("接続エラー:", error_connection)

except requests.exceptions.Timeout as error_timeout:
print("タイムアウトエラー:", error_timeout)

ただしrequests.exceptions.RequestException として エラー:
print("エラー: ", error)


ステップ 3: products.json を使用して Pandas データフレームを作成する

この関数は、products.json ファイルを入力として受け取り、Pandas データフレームに変換します。

def make_df(products_json):

試してください:
products_dict = json.loads(products_json)
df = pd.DataFrame.from_dict(products_dict['products'])
戻るdf
例外例外としてe:
print(e)


ステップ4:すべてのページからデータを取得する

すべての商品を取得するには、後続のページをループ処理する必要があります。

このために、関数はサイトのURLを入力として受け取り、Shopifyストアのすべての商品データを含むPandasデータフレームを返します。

def get_all_products(url):

結果 = True
page = 1
df = pd.DataFrame()

一方 結果:
products_json = fetch_json(url, page)
products_dict = make_df(products_json)

if len(products_dict) == 0:
改行
その他:
df = pd.concat([df, products_dict], ignore_index=True)
ページ += 1

df['url'] = f"{url} /products/" + df['ハンドル']
return df


Python Shopifyスクレーパーが完成しました。

ストアのURLをこの関数に渡すだけで、すべてのデータがproduct変数に保存されます。

products.head()関数を使用してデータをプレビューすることもできます。

all_products= get_all_products('https://helmboots.com/')
all_products.head(1).T


この方法以外にも、Shopify Python API を使用して、Shopify データをエクスポートします。

Shopify スクレーパーを検知されにくくする

Shopify のスクレイピングは通常は無害ですが、検出を回避するためのメカニズムを用意しておくことが常に望ましいです。 Shopify スクレーパーは、CAPTCHA、IP 禁止、レート制限などの障害に遭遇する可能性があります。

Shopify スクレーパーが中断なく実行されるようにするには、AdsPower。AdsPowerは、Shopifyウェブスクレーパーが目立たないようにし、サイトとやり取りし、Shopifyデータを手間をかけずにエクスポートするために必要な対策を講じています。

AdsPower

あらゆる業界に最適なマルチログインブラウザ

Shopifyスクレーパーガイド:コードありとコードなしの2つの方法

他にも読む記事