【第26回PYTHON講座】ホームページを読み込んでみるよ

スポンサーリンク
PYTHON

今回は、PYTHONを使って、ホームページの読み込みをしてみたいと思います。今回は、簡単なプログラムなので、是非、最後までお付き合いください。

スポンサーリンク

『Requests』、『Beautiful Soup』ライブラリについて

ホームページを読む込むことをスクレイピングと言います。PYTHONでホームページをスクレイピングをして、処理するためには、下記の2つのライブラリが必要になります。

スクレイピングで使用するライブラリは『Requests』になります。また、ホームページはHTML言語で書かれており、HTMLの言語を処理するライブラリは『Beautiful Soup』になります。

この2つのライブラリは、標準ではインストールされていないので、新たにインストールしなければなりません。もしインストールされていなければ、下記のコマンドを実施して下さい。気を付けて欲しいのは、requestsの最後の『s』、beautifulsoup4の最後の『4』を忘れないで下さい。

スクレイピングをする内容

今回は、『Merriam Webster』という英語の辞書サイトの『Word of the day』 のページです。

Word of the Day: Servile
Latin served us servile with the help of servilis, itself from servus, the Latin word for 'slave.' Servus is also an ancestor of serve, service, and servitude. ...

このページでは、日々、英単語が更新されていきます。この更新されていく英単語だけを抜き出すプログラムを作ろうと思います。

このページのHTMLソースを見ると、<title></title>のタグの中に、英単語が含まれています。

<title>Word of the Day: 更新される英単語 | Merriam-Webster</title>

その為、<title></title>のタグを抜き出して、文字列処理で、日々更新される英単語だけを抜き出す処理をするようにプログラムを作成します。

プログラム

1,2行目:ライブラリを宣言します。

7行名requestsを使って、ホームページの内容を読み込みます。

10行目:読み込まれた情報は、ソースコードのままの状態です。Beautiful Soupを使い、HTMLで解析された情報をsoupに入れます。これで、タグの情報抜き出すことが出来ます。

13行目:ホームページのタイトルを抜き出します。そうすると、下記の並びで文字列sp1に代入されます。

Word of the Day: 新しい単語 | Merriam-Webster

14行目:文字列sp1をスペースで分割し、sp2に代入します。そうすると、5番目に新しい単語が入っている事がわかります。

[‘Word’, ‘of’, ‘the’, ‘Day:’, ‘新しい単語’, ‘|’, ‘Merriam-Webster’]

15行目:リストの最初は[0]になるために、5番目は[4]になります。

まとめ

いかがだったでしょうか。

今回は簡単なWebスクレイピングでした。実際には、多くの情報を取得する場合に使用すると便利です。実際にホームページを開いて、個々のデータをコピペして計算するような時、Pythonで、プログラムを作ってしまえば、手作業は無くなり、作業短縮になります。

みなさんも、何か、日々、確認している情報などがあれば、Pythonでプログラムを作ってみてはいかがでしょうか。

Beautiful Soupについてもっと詳しく知りたい方は下記のホームページをご覧ください。

Beautiful Soupのドキュメント

kondou.com - Beautiful Soup 4.2.0 Doc. 日本語訳 (2013-11-19最終更新)


コメント

Social Media Auto Publish Powered By : XYZScripts.com
タイトルとURLをコピーしました