データ分析 プログラミング学習

ココナラの副業データをスクレイピング!PythonとSeleniumを使って効率的にサービスを分析する方法

記事内に商品プロモーションを含む場合があります

こんにちは!今回は、スキルマーケットの「ココナラ」に掲載されているサービスを、Pythonのスクレイピング技術を使って自動的に抽出し、分析する方法についてご紹介します。

副業を検討している方や、ココナラで人気のあるテーマを知りたい方にとって、どのようなサービスが提供されているのか、どのような価格帯で取引されているのかを知ることは非常に有益です。そこで、今回は「データ分析」をキーワードに、ココナラのサービスをスクレイピングし、サービス名、評価、価格といった情報を取得していきます。

スクレイピングは、公開されているWebページのデータを自動で収集する技術です。この記事では、PythonのSeleniumとBeautifulSoupを使用して、ココナラのサービス情報を効率的に取得する手順を解説します。また、Webページの要素を探すための「セレクタ」の調べ方や、Seleniumを使ったChromeDriverの自動設定についても説明します。

スクレイピングの基本はこちらの記事を参考にしてください
プログラミング完全ガイド:基礎からスクレイピング&API活用までのまとめ

ココナラって何?

ココナラ

ココナラは、個人が持っているスキルや知識をサービスとして提供できるオンラインマーケットプレイスです。利用者は、自分が得意とする分野(例えば、デザイン、翻訳、プログラミング、相談、占いなど)で他の人にサービスを提供し、その対価として報酬を受け取ります。また、スキルを探している人は、自分に合ったサービスを選んで依頼することができます。

ココナラは、専門的なスキルや副業を始めたい人、個人的なサポートが必要な人たちが集まるプラットフォームとして人気があり、サービス提供者が個人としてビジネスを始める場としても広く利用されています。

【初心者~プロまで幅広い人が集まる】
日本最大級のスキルマーケット

使用する技術とライブラリ

今回使用する技術は以下の通りです。

  1. Python
  2. Selenium - Webブラウザを自動操作するためのライブラリ
  3. BeautifulSoup - HTMLを解析してデータを抽出するためのライブラリ
  4. webdriver-manager - ChromeDriverの自動管理

必要なライブラリをインストールするために、以下のコマンドを実行してください。

ポイント: SeleniumのChromeDriver自動設定

Seleniumを使用する際、通常はChromeDriverのバージョンをダウンロードして手動で設定する必要がありますが、webdriver-managerを使用すると、ChromeDriverを自動的にダウンロードして設定してくれるため、環境設定が非常に簡単です。この方法を使えば、手動でChromeDriverのパスを指定する手間が省け、常に最新のバージョンで動作させることができます。

セレクタの調べ方

スクレイピングの際に、ページ内の要素(例えば検索ボックスやサービス名)を指定するために「セレクタ」を使用します。以下は、Chromeブラウザで要素のセレクタを調べる手順です。

  1. 対象のWebページを開く
    まず、スクレイピング対象となるWebページをChromeで開きます。今回はココナラのトップページを例にします。
  2. 検証ツールを開く
    調べたい要素を右クリックし、メニューから「検証」を選びます。これにより、ページのHTML構造を表示する「開発者ツール」が表示されます。ショートカットキー(Windows: F12、Mac: Cmd + Opt + I)でも開くことができます。
  3. 要素を選択する
    「検証」モードで、マウスを使ってスクレイピングしたい要素(例: 検索ボックス、サービスタイトル)をクリックします。すると、その要素のHTMLタグが開発者ツールにハイライトされます。
  4. セレクタをコピーする
    ハイライトされたHTMLタグを右クリックし、メニューから「コピー」→「CSSセレクタ」を選択します。これで、その要素のCSSセレクタがコピーされました。

具体例

例えば、ココナラの検索ボックスのセレクタは以下のように表示されます。

この場合、input.input がCSSセレクタとなります。このセレクタを使ってSeleniumで検索ボックスにアクセスすることができます。

スクレイピング手順

1. ChromeDriverの設定

まず、Seleniumを使用してブラウザを操作するために、ChromeDriverを自動的に設定します。

ChromeDriverManager().install() を使うことで、手動でChromeDriverを設定する手間を省き、常に最新のChromeDriverがインストールされます。

ポイント

webdriver_manager.chromeを使ってChromeDriverを自動的にインストール・管理しています。通常は、ChromeDriverのパスを手動で指定する必要がありますが、このライブラリを使うことで、常に最新のバージョンのChromeDriverを自動的に使用できます。環境設定が非常に簡単になるため、開発の効率が上がります。

ChromeDriverManager().install() を使用することで、ChromeDriverを自動的にダウンロードし、Seleniumにセットアップします。これにより、ChromeDriverの手動インストールが不要になります。

2. ココナラのページにアクセスして検索

次に、ココナラのトップページにアクセスし、「データ分析」というキーワードでサービスを検索します。

ポイント

WebDriverWaitを使って、特定の要素(検索ボックス)がページに表示されるのを待つようにしています。これにより、ページが完全に読み込まれる前に操作を開始してエラーになることを防ぎます。

By.CSS_SELECTORは、検索ボックスのCSSセレクタを指定して要素を見つけるために使用されています。セレクタの指定方法は、先ほど説明したChromeの「検証」ツールを使用して調べます。

3. サービス情報をスクレイピング

次に、検索結果に表示されているサービスの情報(タイトル、評価、価格)を取得します。

ポイント

検索キーワードを入力した後、検索ボタンを自動でクリックする部分です。find_elementメソッドを使って検索ボタンを特定し、クリックしています。この部分で検索結果が表示されるようになります。

4. データをCSVファイルに保存

取得したサービス情報をCSVファイルに保存し、後でデータ分析に利用できるようにします。

ポイント

BeautifulSoupを使って、検索結果のHTMLをパースし、サービスのタイトル、評価、価格をそれぞれ取得しています。find_allメソッドを使用して、指定したクラス名を持つ要素をすべて抽出します。

これらの要素は、それぞれタイトル、評価、価格に対応しています。HTMLの構造が変更されることもあるため、常にページを検証して最新のセレクタを使用することが重要です。

エラー処理と対策

スクレイピングを行う際には、以下のようなエラーが発生することがあります。

  1. 要素が見つからない: ページの構造が変更された場合、要素のクラス名やCSSセレクタが変更されることがあります。find_elementfind_allのセレクタを再確認し、適切なセレクタを設定する必要があります。
  2. ページ遷移エラー: ページ遷移中にエラーが発生することもあります。この場合、次ページがない場合には適切に処理を終了する必要があります。

まとめ

この記事では、Pythonを使ってココナラのサービス情報をスクレイピングし、タイトル、評価、価格といったデータを自動的に取得する方法をご紹介しました。また、要素のセレクタをChromeの「検証」ツールを使って調べる方法や、SeleniumのChromeDriver自動設定の利便性も説明しました。

副業やスキルマーケットでどのようなテーマが人気なのか、どのような価格帯で取引されているのかを知るために、ぜひこの方法を試してみてください。ただし、スクレイピングは対象のWebサイトの利用規約に従って実施することが重要です。

Pythonを学びたい方はこちらの記事を参考にしてみてください

プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?

ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。

このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!

プログラミングを学びたいけど、どこから始めたらいいのか分からない、自分に合っているか不安…そんな悩みを持っている方におすすめしたいのが、 無料相談 サービスです!

この無料相談では、あなたの現状や目標に合わせて、最適な学習プランを一緒に考えてくれます。どんなスキルが必要なのか、どうやって学習を進めると効果的かを具体的にアドバイスしてもらえるので、無駄なく効率的にスタートを切ることができます。

さらに、プログラミング学習には同じ目標を持つ 仲間 がいること、そして頼りになる メンター の存在がとても大きな支えになります。独学ではどうしてもつまずきやすい部分も、メンターがあなたの成長に合わせて親身にサポートしてくれるので、安心して学びを進められます。

まずは 無料相談 で、あなたに合ったプランを見つけて、スキルアップへの第一歩を踏み出してみませんか?今なら、迷っている方でも気軽に相談できるチャンスです!

テックアカデミー無料メンター相談

-データ分析, プログラミング学習
-, , , , , , ,