ヤフオク!の落札結果をスクレイピングして、BigQueryで分析するプログラミング解説
Yahoo!オークション(ヤフオク!)で落札や出品する場合、最適な金額がいくらなのか気になりませんか?
今回は、Yahoo!オークション(ヤフオク!)の落札金額を取得して、最適な金額を検討するためのデータ取得方法からデータ分析の方法までをご紹介します。
スクレイピングに初めて挑戦する方はぜひ以下の記事をご覧ください。
概要
こんな方におススメ(*´▽`*)
・ヤフオク!での最適な落札金額が知りたい
・Webスクレイピングだけではなく、取得したデータをSQLで仕分けをして、分析したい
以前、メルカリからデータを取得するという記事でご紹介した、Webスクレイピングという方法でデータを取得します。
メルカリの記事では、Seleniumというブラウザ自動化のライブラリーでデータを取得しましたが、今回は、Beautiful soupというライブラリーを使いデータを取得します。
Beautiful soupは、Webスクレイピングに特化したライブラリーです。Seleniumよりも早くデータを取得できるというメリットがあります。Beautiful soupではHTMLを解析して、タグやCSSセレクタで指定することでデータを抽出します。
スクレイピングをマスターすると様々なところで利用できます。スクレイピングしたデータを何かに使う、あるいは分析して何かに活かすことができますので、ぜひスクレイピングを覚えましょう!
また、BigQueryは有料にはなりますが、格安なので、使ったことがない方は、データを保存するツールとして検討してみるとよいでしょう。
完成したプログラムを実行するにはメルカリ同様にコンソール上で以下のように検索キーワードを入力するとデータを取得できます。
python ファイル名 検索キーワード # 複数ある場合は+で追加
コンソールでは以下の画像のように実行結果途中が可視化されます。
BigQueryでは、以下の画像のようにデータが保存されます。
事前準備
まず、事前準備としてGoogle Cloudのアカウントを作成します。
アカウント作成後、プロジェクトを作成します。
プロジェクトを作成後、「APIとサービス」のページに遷移し、メニュー内の認証情報を選択します。ページ上部に「認証情報を作成」というボタンがあるので、そこから「サービスアカウントキー」を選択します。
サービス名:BigQuery
キータイプ:JSON
を選択して、作成するとサービスアカウントキーが作成されます。作成と同時にファイルが認証用のJSONファイル(秘密鍵)がダウンロードされますので、保存しておきましょう。
これでBigQueryを使うための事前準備は完了です。
それでは、ココから順を追ってコードの解説してきます。
プログラムの全体像を決める
まず、プログラムの全体像を決めます。今回は1つのファイルで完結させることととします。
1. はじめにヤフオクからデータを取得する関数を作ります。
2. 次に、BigQueryにデータを保存するための準備として、各設定値を代入する関数を作ります。
3. 最後にそれらを実行して、ヤフオクから取得したデータをBigQueryに保存します。
1.ヤフオクからデータを取得する
まずは、各ページで取得したい要素を取得するためのプログラムを書いていきます。
Beautiful Soupでページ内のテキストを取得する
ここから先は
¥ 1,200
この記事が気に入ったらチップで応援してみませんか?