Octoparse(オクトパース)を使ってウェブスクレイピングを自動化したい！

こんにちは、HRBrainでバックエンドエンジニアをしている蔭山です。

今回はHRBrain AdventCalendar2024 15日目の記事です。

https://qiita.com/advent-calendar/2024/hrbrain

# はじめに
現在ではインターネット上のデータを収集することは、マーケティングやリサーチ業務において重要な役割を果たしています。
プログラマーであればスクレイピングで情報収集を行えますが、個人が行おうとすると障壁は高く依然として難しい状況です。

しかし時代は変わりました。AIが台頭しツールの普及により、プログラミング不要で誰でも簡単に高性能なスクレイピングが行えるようになっています。
今回はその実例として、強力なウェブスクレイピングツールである**Octoparse**を紹介します。

https://www.octoparse.jp

Octoparseはアメリカ発のウェブスクレイピングツールで、AIを利用した自動抽出、ワークフローの自動化、テンプレート設定など多種多様な機能を持っています。日本でもPWCやSONYなど大手企業が導入しているデスクトップリサーチに最適のツールです。

# 何をやるか
今回は、新規開拓営業で必要になるDM送信宛先リストを作成する作業を効率化する方法を紹介します。

:::note warn
本記事では実際のタスクを効率化するための方法について記載し、Octoparse自体の使い方の説明は一部を除き行いません。
直感的に使用できるツールではあるのですが、詳しい説明が必要な場合は公式ブログか別記事を参照ください。

:::

現在ではPerplexityといった検索系AIをリサーチに利用する方法も出てきていますが、まだ精度も低く代替するのは難しいのでは？と考えています。
この機会にしっかりしたスクレイピングツールを覚えておくとより業務に役立つと思うので、何番煎じか分かりませんがやっていきます。

## Octoparseをインストールする
WindowsとMacにて無料で利用が可能です。下記サイトにてインストールしてください。

https://www.octoparse.jp/download

## Googleマップを利用してアポ用のリストを作成する

### 1. Googleマップから店舗情報を抽出
1. **テンプレートの選択**: Octoparseを開き、カスタムテンプレートから「[Google Maps Store Scraper（Local）](https://www.octoparse.com/template/google-maps-store-scraper-local)」を選択します。
これはGoogleマップの検索結果をスクレイピングするツールです。Octoparseにはこれ以外にも、Amazon、SUUMOといった様々なサイトに特化したテンプレートが用意されています。

   [![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605179/1cb7cb3c-57ae-1a31-9c31-49b88fcf39e2.png)](https://www.octoparse.com/template/google-maps-store-scraper-local)

2. **データの自動抽出**: 検索欄にキーワードを入れて実行すると、スクレイピングが始まります。例として「NewYork Trading Card Shop」を入力しました。

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605179/52feb3f3-e1a3-db49-3eab-83a9d33d10a6.png)

3. **データのエクスポート**: 抽出したデータをExcel、CSV、データベースなどの形式でエクスポートします。
店舗名やウェブサイト、住所が取得できていることが分かります。

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605179/79024d38-7d7d-771d-8c0c-b00aecbc64a5.png)

### 2. ウェブサイトからメールアドレスを抽出する
1. **テンプレートの選択**: 「[Email & Social Media Scraper](https://www.octoparse.com/template/email-social-media-scraper)」を選択して、メールアドレスをスクレイピングしたいウェブサイトのURLを入力します。
このテンプレートでは、対象のウェブサイトのページ階層まで潜りながら、EmailやSNS情報をクロールしてくれます。

   [![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605179/5b8789eb-bbf4-6ef3-bf29-d544f02adc59.png)](https://www.octoparse.com/template/email-social-media-scraper
)

2. **タスクの実行**: 手入力だけでなく、Excelファイルから直接インポートもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605179/12d609ca-d0f8-6e9b-78cf-8204f82746bb.png)

3. **データのエクスポート**: スクレイピングしたデータをExcel形式でエクスポートできます。
Emailのみならず、X、TikTok等多くのSNSに対応しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605179/b093b51d-fdfc-bdd4-468b-d6297113390e.png)


:::note warn
### 法的および倫理的考慮事項
メールアドレス等個人情報のスクレイピングを行う際には、プライバシー法や規制を確認してください。
:::

# 最後に
Octoparseを使用することでサイトスクレイピングを簡単に行えるようになります。私も今までPythonのseleniumで書いていたのですが、正直特殊なタスク以外はOctoparseで十分だなと感じています。
正直リサーチ系AIはまだまだ不完全であるため、AIに頼るところは頼りつつこういったツールを使いこなしていこうと思います。

# 参考

https://www.octoparse.com/blog/extract-emails-from-any-website-for-cold-email-marketing

https://www.octoparse.com/blog/scrape-email-addresses-for-business-leads

# PR
HRBrainではバックエンドエンジニアの採用も行なっているので、良ければぜひ応募ください！

https://www.hrbrain.co.jp/recruit