Webスクレイピング入門 (データ収集編)

はじめに

このnoteでは、プログラミング言語Pythonを用いて、Webスクレイピングを入門しデータ収集の方法を学びます。
(本当は、このnoteの内容に加え、Selenium入門+Seleniumを用いたオートメーションツール(一種のRPAツール)までコンテンツにする予定でしたが、分量が多くなるのと、環境構築の観点から難易度が高まってしまい、読者の方がスムーズに学習しにくくなりそうだったので分ける方向にしました。)

このnoteを終えると、Pythonを用いたスクレイピングの基礎の習得、インターネット上から欲しいデータを抽出し、取得することが出来るようになります。

このnoteを書いている人

まずはじめに僕が誰かを簡単に説明いたします。
少しでも知っていただければ幸いです。
今は、AI AcademyというオンラインでPythonや機械学習などが学べる学習サービスを運営するサイバーブレイン株式会社を創業し代表しています。
元々は19歳の時に、大学の友人と3人で会社を創業し、そこで3年間CTOとして、バックエンド(PHPを用いてAPI開発、AWSを用いたインフラ周りの構築)をメインに、スクレピングを用いて、数十万のデータを収集し、MySQLやMongDB、sqliteなどにデータを保存するWebスクレイピングプログラムや、Scikit-learnを用いて、レコメンドエンジン(協調フィルタリングなど)や写真からカロリーを推定するモデル(TensorFlow)などを開発しておりましたが、今では以前のようにがっつりコードを書くことは少なくなりました。
ですので、今は現役ではないものが書いてます。



必要な知識

このnoteを進めるに当たって、次の3つの知識が必要になります。

1. HTMLの基礎知識
2 CSSの基礎知識
3. Pythonプログラミングの基礎知識

HTMLでは、ドットインストールの『はじめのHTML』
#01~#04あたりまで知っていれば大丈夫です。

CSSでは、ドットインストールの『はじめのCSS』
#01 はじめてのCSSを書いてみよう (02:54)の『セレクタ、プロパティ』あたりを知っていれば大丈夫です。

Pythonでは、変数、リスト、for文、ライブラリといった基本構文に関して知っていれば大丈夫です。
あとはクラスとオブジェクトに関数基礎知識(クラスやメソッドの記述方法など)知っていればなお良いです。
Pythonの内容は、AI Academy Pythonコース をご利用いただければ、無料で、ライブラリやクラスとオブジェクトの範囲まで学べます。

このnoteで学ぶこと

このnoteは、データ収集編です。
下記の赤枠部分の内容を学びます。後編ではSelenium入門と実践などを学び、より実践的なスクレイピング手法に関して学びます。

具体的にこのnoteでは次の内容を学びます。

・Webスクレイピングとは、Webスクレイピング出来ると何が良いの?
・HTTPとrequestに関して
・BeautifulSoupを用いてスクレイピング入門
・Pandasを用いてCSVファイルを書き出そう。
・応用プログラム
・終わりに、まとめ

Webスクレイピングとは

Webスクレイピングとは
『Web上のデータをダウンロードして、必要なデータを抽出すること』です。
Webスクレイピングでは、手作業でブラウザをクリックし、必要なデータをダウンロードしたり、スプレッドシートにコピペするような退屈な作業を、自動化するときに役立ちます。

具体的に、Webスクレイピングができるとどんなことができるの?

Webスクレイピングができるようになることで、先ほども簡単に話しましたが、『インターネット上から必要なデータを自動で収集する』といったことが主にできるようになることです。
しかし、Pythonには他にも便利な機能を利用することが出来まして、データを収集をただ行うだけのプログラム以外にも、自動でウェブブラウザ(Google Chromeなど)を開き、特定のWebサイトにログインし(例えばTwitter)、特定のツイートを100件取得し、CSVファイルに書き出す。
といった一連のプログラムを作ることも可能です。

つまり、ログイン認証が必要な会員サイトにも自動でログインするといったことも出来ます。

Webスクレイピング技術を扱えるようになることで、これまで手動で行なっていた手作業を一気に自動化し、よりクリエイティブな業務に時間を避けるでしょう。
興味が湧いてきましたか?
実際に、このnoteでは先ほどあげた、スクレイピングの基礎を学び、Web上の欲しいデータを抽出できるようにしていきましょう!

後編(予定)では、Twitterに自動でログインし、数百件のツイートデータを収集し、CSVファイルに書き出す。といったプログラムを最終的に作っていきます。

続きをみるには

残り 9,756字 / 7画像

¥ 500

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?