はじめに
C言語を学習しているPython初心者の私がスクレイピングに手を出したぞぉ~っている話ですっ!
私は今大学生なので、弊学のシラバスでもスクレイピングしていこうかなと思います。(禁止されていないことは確認済み)。
スクレイピングとは
スクレイピングとは何か っていうのは、この記事にたどり着いた人なら知ってるんじゃないかなと思うので、説明は割愛です。Webサイト情報から自分に必要な情報だけを抽出することをスクレイピングって言うらしいですけど。Python以外にGoogleAppsScript(GAS)でもやっている人いるみたいです。スクレイピングを定期実行したい、頻繁にデータを更新したいとかならGASの方が便利かも。
経緯
筆者は「Kadai-Board」という香川大学の学生向けのWebアプリを作っているのですが、それで、LMS(Moodle)と教務システム(住友系SIerのSCSK製DreamCumpus)の2つのサイトそれぞれの授業に関するデータが必要になりました。それで、スクレイピングして、シラバスデータを頂戴しようか という感じで始めました。(詳しいことはまた別の機会に)
目次
Python環境構築
ググってください。
ポチポチするだけです。
Windowsの人はインストーラのPATHを通すチェックボックスに印を入れ忘れないようにする 的な注意点があった気がする。詳しくは忘れちゃった ガハハ。
バージョン
Python2.xの2系とPython3.x系の3系があるみたいだけど、業務で使うとかで無い限り3系で良いいんじゃないんですかね。2系は2020年にサポート終了してるみたいだし。
環境の種類
python.orgの「Python」で良いと思います。
Anacondaとかもけっこう使われてるみたいだけど
文法
とほほ さんのPython入門でも見てください。
https://www.tohoho-web.com/python/index.html
変数の型はC言語みたいにint hoge = 1;って書くのも出来るけど、Pythonでは hoge = 1 だけでもOK。(個人的には明示的に書くのが好き)
for文とかが便利になってます。
なんか投げやりで すいまそん。
pip
C言語学習者がまず戸惑うのがpip install <パッケージ名>ってやつだと思います。
Anaconda環境だとconda install らしいです。
C言語では#include って感じでヘッダーファイルをincludeしてライブラリを取り込みますが、
Pythonではimport /パッケージ名/で読み込みます。
Pythonはライブラリの開発が盛んで標準ライブラリ以外の外部ライブラリを利用することが多くあります。
https://utakataworks.com/pip-and-conda-install/#index_id1
スクレイピングの手順 と ライブラリ
手順
- WebサイトのHTMLを取得
- HTMLを解析(必要な部分を取り出していく)
ライブラリ
- Requests
- 軽量。
- 静的なサイト(JSとかを利用して描画していない)に適する
- どっかの企業の商品ページとか?
- Selenium
- 動的なサイトにも対応
- ログインが必要なサイト
- クリックやスクロールしないと必要なデータが表示されないサイト
- スクレイピング以外に、操作の自動化にも使われる (というより、メインの役割は自動化)
- 動的なサイトにも対応
- Beautiful Soup
- これはとりあえずインストールしておこう。
- HTML解析に使う
Requests
詳しくはコチラへ(外部サイトです)
Selenium
詳しくはコチラへ(外部サイトです)
Beautiful Soup
詳しくはコチラへ(外部サイトです)
謝罪
この記事の著者は、ここまで書いて満足して、逃亡してしまいました。続きを読みたい人は筆者に向かって肉声をベースバンド伝送してください。(どこかのコピペ)
SLP-KBIT(香川大学プログラミング研究会)のアドベントカレンダーの %d 日目の記事なんですが、大学の名、サークルの名を汚すような記事になってしまいました。 最後の方なんてタダのリンク集になっちゃってる笑。この場を借りて、一応、謝罪させてください。