2019 ソフトウェア設計及び演習用の班Wiki

19::gr05::細川祐生

担当作業

  • Webスクレイピングに挑戦!

Webスクレイピングについての調べ

○期間:5月17日(第5回)から5月31日(第7回まで)

スクリーンショット_2019-05-17_15-19-26.png

→7行目の"zip=*"は郵便番号を指定できる。
→その他にも、"q=*"で都市名、"lat=*&lon="で緯度・経度を指定できる。

*JavaScriptによって、linuxのコマンドを実行してテキストファイルを抽出する
→Node.jsのインストールが必要[参照:http://wiki.cis.iwate-u.ac.jp/~yamanaka/csd/2019/material/nodejs/]
<メリット>
・RubyをJavaScriptに埋め込む必要がなくなる。
[URL:https://qiita.com/TsuyoshiUshio@github/items/cf4b28e7999403f7a04c]
↑中止(Pythonに絞って調べることにする)

Webスクレイピングのまとめ

Pythonを用いたWeb情報の取得

(Webスクレイピングの流れ)

(1. 天気、ニュースなどの情報が書かれたWebサイトからhtmlデータを取得する。)
・"requests"というライブラリを使用してhtmlデータを取得する。
[URL:https://qiita.com/sqrtxx/items/49beaa3795925e7de666]

(2. 取得した情報から必要な部分をtxtファイルやcsvファイルとして抽出。)
・"BeautifulSoup"というライブラリを使用してhtmlから必要な情報を抽出する。
[URL:https://qiita.com/U-MA/items/896c49d46585e32ff7b1] [URL:https://www.htmllifehack.xyz/entry/2017/10/07/010341]

(3. メイン画面に抽出ファイルの情報を表示して加工する。)
・JavaScriptで抽出ファイルから必要箇所を抜き取ってメイン画面に表示する。

Pythonの実行方法

・"Brython"を使ってJavaScriptで実行する。
[URL:https://qiita.com/Senple/items/f5ccb083d0cf7c997d3d]

Brython1.png

Brython2.png

活動記録

0. 班の活動記録

 班の活動記録は細川が担当して書いています。  活動記録

1. Webスクレイピング

 プログラミング言語はPythonを使用して、「岩手大学ホームページ」から情報を取得することを目指す。
 * Webスクレイピングのやり方について調査!  まず、初めにWebスクレイピングの具体的なやり方について調査した。
 (Webスクレイピングの流れ)
 1. WebページのHTMLを読み込む。
 2. HTMLから必要な情報を指定して任意のファイルに書き込み
 3. 取ってきた情報を自分たちで使う。

 しかし、いざやろうとすると結構難しかった。まずはインターネットで調べたスクレイピングのサンプルファイルを参考に手順1を行う。
この時にライブラリであるrequestsとBeautifulSoup4を使用した。(インストールしていただいた職員さんに感謝!!)

 次に、手順2を行う部分をコーディングした。
これは完全に独学だったが、購入した本(実践力を身につけるPythonの教科書/株式会社マイナビ出版)を参考資料として作成した。

 最後に、手順3を行う。ここでは自分たちが作るWebアプリケーションに実装することが目標となるが、まさかの問題が発生!
それはHTML,CSS,JavaScriptで書かれたメインのプログラムとPythonで書かれたスクレイピングのプログラムを結合させなければいけないということ。

 その対策は、調べによるとフレームワークであるDjangoを使うことで解決するとわかった。これについては後述する。

 (8/1)最終的に手順1、手順2で作成したプログラムを一つのソースファイルにまとめることができた。
   そして、Djangoでのモジュール結合も成功したので手順3の画面表示も達成できた。


最終更新日:2019/08/01 15:51:38