Pythonで定期的にスクレイピングを実行したい
カテゴリ:Pythonの話
今回はスクレイピングの方法と定期実行について紹介します。
ライブラリのインストール
まずはBeautiful soupをインストールします。Beautiful soupはurlから取得したhtmlの文字列を操作する時に使用します。
1 |
pip install beautifulsoup4 |
次にPandasをインストールします。Pandasはデータ解析を行う際に使用するライブラリとなっています。
1 |
pip install pandas |
scheduleモジュールをインストールします。scheduleは定期実行をする際に使います。
1 |
pip install schedule |
次にwebサイトからスクレイピングの方法を紹介していきます。
Webサイトからスクレイピング
まずはPythonファイルを作り、ライブラリのインポートを行ないます。
scraping.py
次にurlからデータを取得し、htmlの確認を行ないます。
では、ここでサイトのhtmlを確認してみましょう。Webページで「F12」キーを押してデベロッパーツールを開きます。
今回はaタグにタイトルと詳細ページに遷移するURLがあることを前提に操作していきます。
補足として、3行目に属性を追加することでより厳密に抜き出したいタグを指定できるようになります。
次にPandasを使用してデータフレームを作成します。さらに作成したデータをcsvファイルに書き込みます。
6行目は保存先を指定。7行目は作成ファイル名を指定しています。
ここで一度Pythonファイルを実行してみましょう。
上記の記述だと、このPythonファイルと同じ場所に指定しているので、そこに保存されています。
定期実行
ではここから定期実行の処理をしていきます。定期実行させることで指定した時間に自動的にPythonファイルが実行されます。
まずははじめに上で作成したデータを編集した処理を関数化します。
では定期実行の処理を書いていきましょう
今回は1時間毎で設定しています。
他にも
と細かく時間や日にちの設定ができます。
おわりに
スクレイピングを利用して、ニュース記事などの取得も同様の処理で行えるはずです。自分のほしい情報をスクレイピングを活用して快適にできればいいですね。