プログラミング初心者がウェブスクレイピングをはじめる|Python習得入門編

Pythonと書かれた紙を持つ人

Photo by Hitesh Choudhary on Unsplash

読書するゆーうつ君のアイコン

こんにちは、ゆーうつです。

旅行業界でマーケッターとして働いています。

突然ですが、Python(ぱいそん)てしっていますか?

AIやビッグデータの処理などで利用されているプログラム言語です。

Webページからのデータ取得などもできる言語として知られています。

仕事で競合他社のデータ取得が必要となり、スクレイピングの学習をはじめました。

これまでGoogleスプレッドシートを利用していましたが、作業していると楽しくなってきたので本格的に学びたくなってきました。

Pythonをはじめて三日目ですが、自分の学習のアウトプットと、同じように学習を始めたい方に向けた備忘録としてブログに残すことにしました。

この記事がオススメの方

  • Pythonて興味はあるけど詳しくは知らない
  • 最近、Webスクレイピングを始めた
  • 地方在住のマーケッターで、周囲に差をつけたい
  • 一緒にPythonを学ぶ仲間が欲しい

上記の方には一読の価値があるのではないかと思います。

第一回目は、そもそもウェブスクレイピングとは何か、どうして学ぼうと思ったのかを説明していきます。

プログラミング初心者がウェブスクレイピングをはじめる

データの時代が本格化しています。

AIやビッグデータははじめ、IoTやマーケティングの分野などでも幅広く使われるようになってきました。

GAFAMなどデータを活用した企業が世界の覇権を握って長い月日がたっています。

こうした本に詳しく書いてありますが、データの重要性はこの先ますます増していきます。

私は地方の旅行業でマーケティングを担当しています。

地方の中小企業はプログラムやデータ活用など無縁だと思っていましたが、人手不足の地方の企業でこそデータの活用やプログラムによる自動化が必要だと実感しています。

先日、Googleスプレッドシートでの競合他社の情報取得をおこないました。

毎日30分かけていたデータ取得時間がなんと0秒に短縮されました。

データ取得にかかっていた時間が、そのままデータ分析や付加価値を生む作業に使えるようになりました。

劇的な効果だと思いました!

ウェブスクレイピングは難しいと思っていましたが、スプレッドシートでは簡単におこなえたのも感動したポイントです。

ウェブスクレイピングとは?

机に置かれたラップトップ

ウェブスクレイピングとはWebサイトから情報を抽出する作業です。

任意の情報や、数字、画像などの情報を抽出することができます。

主に3つの方法があります

スクレイピングの主な3つの方法

  • Googleスプレッドシート
  • Google Apps Script
  • Python

下にいくにつれて難易度があがっていきます。

まず、Googleスプレッドシートで旅行情報サイトから競合情報の抽出をおこないました。

=importxml("url",xpath)

簡単な関数で情報取得できるのに感動し、さまざまな情報取得を試しました。

Googleスプレッドシートでのウェブスクレイピングの限界

スプレッドシートでの情報取得の見本

スプレッドシートでのウェブスクレイピングには限界もありました。

それは読み込みが重い(遅い)ということです。

20以上のデータ取得だといつまでたっても(loading…)のまま、読み込みが進まなくなり、イライラすることも…。

読み込みに時間がかって、普通に手動で取得した方が早かったのでは…、なんていうことも。

自分としてはウェブスクレイピングの面白さも実感していたし、これからの時代に必要な技術にもなると感じていしました。

色々と調べているうちに、やはり本命はPython(ぱいそん)だろうということで、学習を決めました。

Pythonのウェブスクレイピングでできること

Pythonでの情報取得の見本

Pythonでのスクレイピングはスレレッドシートと比べて難易度は急激に高まります。

Pythonはさまざまな製品や技術の開発に使われいます。

  1. WEB上のデータ収集・分析
  2. AI開発
  3. ビッグデータ解析
  4. WEBサービスの開発
  5. スマホアプリの開発
  6. ブロックチェーン技術の開発

上記の中でも①のWEB上のデータ収集に特化して勉強していきます。

目指すべき姿〜どうしてPythonなのか?〜

私は30代の地方在住でプログラミング初心者です。

今からデータサイエンティストになってデータ分析の専門家を目指すわけではありません。

地方の中業企業勤務のマーケッターがどれくらいの技術と知識をもつべきなのか、それを見極めていきたいと思います。

まずは普段の業務の効率化を目指していきたいと思っています。

そして、これからますます世界は加速しながら大きな変化をしていきます。

変化のスピードについていくだけでなく、新しい技術が出てきたときに、少しでも理解して取り入れられるようになるため、今から学習をはじめたいと思います。

世界のテクノロジーの潮目を見ながら、少しでも並走できていけたらという思いがあります。

スクレイピングは他人様のWEBサイトに負荷をかけて情報を取得する技術です。

やり方やマナーを守らないと、訴訟問題に発展するケースもあるとか。

そうしたマナー面も含めてこれから学んでいきたいと思います。

このブログではそんな地方在住のマーケッターがPythonでのウェブスクレイピングを学んでいく過程を発信していきたいと思います。

とはいえ、挫折してしまいそう。

とはいえ、プログラミングは難しいので、途中で挫折してしまうかもしれません。

ブログを書くのはモチベーションを維持するためと、アウトプットして学習の定着を促す狙いもあります。

長い時間がかかるかもしれませんが、気長にお付き合いいただければ幸いです。

道中、同じ仲間ができると嬉しいです。

Twitterやっておりますので、よかったら気軽に絡んでください。
@NZMBooKs

地方在住だったり、同じ30代でプログラムを始める方や、中小企業のマーケッターの方など交流していけたら嬉しいです。

Python学習の入り口はこちらの参考書からはじめました。

集中してやると一週間かからないくらいのボリュームですが、超入門としては良い感じです。

ねづ店長のワンポイントアドバイス

プログラミングを覚えたら世界の見方がガラッと変わるよ。気長に地道にコツコツと学習を積み上げていこう。