Pythonでスクレイピングする方法

ぜひ読んでほしい方

・Pythonでスクレイピングしたい方
・input()で、ユーザーに任意のメッセージを表示させる方法を知りたい方

コード公開

 このコードでは、requestsとBeautifulSoupというモジュールよ呼ばれるものを利用してスクレイピングを行います。

 そこで、これらを使うためにモジュールをあらかじめインストールする必要があります。

必要なモジュールをインストール

 インストールのやり方ですが、コマンドプロンプトを起動して以下のコマンドを入力します。

 これで、下準備は完了しました。ここからは、最初にお示ししたコードの解説に入ろうと思います。

コードの概説

 はじめのところに示したコードを再掲します。

 まず、1,2行目のところで先ほどインストールしたモジュールを利用することを命令します。

 次に、4行目でプログラムを実行する際にユーザが指定したURLを取得して、5行目のrequests.get()の引数とします。6行目のBeautifulSoup()では、5行目で取得したサイトの情報のうち、大雑把に言いますと何のデータをどのように解析するか指定しています。

 最後に8行目でその結果を出力するprint命令をしています。

関数についての説明

ここからは、コード内にでてきた以下の2つの関数について説明していきます。

input()

 プログラム実行時にユーザーが入力した値を取得する関数です。引数に文字を入力すると、ユーザーに向けてのメッセージ(プロンプトという)を表示してくれます。

requests.get()

 サーバーから情報を取得する関数です。第一引数は必須でURLを指定します。第二引数以降は、さらに任意で引数を指定することもできます。戻り値として、responseオブジェクトが返され、上のコードではhtml変数に格納しています。このresponseオブジェクトはいくつかの属性があり、今回は6行目の第一引数としてバイナリデータであるcontent属性を指定しています。

ちなみに、requests.get()はrequests関数のgetメソッドを利用したもので、他にもrequests.post()などがありますので、詳しくは、戻り値の属性などと併せてhttps://ai-inter1.com/python-webscraping/をご覧ください。