Webスクレイピングで第10回AKB48世界選抜総選挙のデータを取得

f:id:octoparse:20180724122223j:plain

毎年6月になるとAKB48の総選挙で盛り上がりを見せています。2018年もやってきました。6月16日、「第10回AKB48世界選抜総選挙」(別名:AKB48 53rdシングル 世界選抜総選挙 ~世界のセンターは誰だ?~)の開票イベントが、愛知・ナゴヤドームにて開催されました。総投票数は3836652票だそうで、松井珠理奈さんが194453票で1位の座を獲得しました。

今年は100位まで発表され、みんなそれぞれの情報を了解したいので、この度Octoparse というスクレイピングツールを使って、メンバーのデータを一気に取得しています。(Octoparseをダウンロード

Octoparseでは、様々なデータ抽出方法があるのですが、今回は「リスト状となっているコンテンツからデータを抽出する」と「リストから詳細ページへ行ってデータを抽出する」の2種類の方法を全部使って紹介したいと思います。

 

さて、始めましょう!

 

ステップ1:Octoparseスクレイピングするサイトを開く

Octoparseには、ウィザード形式で手軽に行える「Wizard mode」と、自由度高い「Advanced mode」がありますが、今回は「Advanced mode」を利用してみます。

サイト:https://www.akb48.co.jp/sousenkyo53rd を入力し、下部にある「Save URL」をクリックして、最初のステップを完了しました!

 

ちなみに、インターフェイスの右上にある「ワークフロー」ボタンを開くと、タスクの実行順番を確認できます。

 

 

次のようになります。

 

 

 

 

ステップ2:Webクローラーを定義する

すべての情報を読み込んだ後、スクレイピングするデータを指定します。

 

1.まず、各アイテムを全体として、クリックします。「Action Tips」パネルには選択結果を提示します。

 

 

アイテムが16しか選択されません。ですから、100件になるまで選択されていないアイテムをクリックします。

 

2.「Loop click each element」をクリックした後、詳細ページに入ります。そうすると、スクレイピングするデータを指定します。

 

 

データを取得しました。データフィールドの下にあるツールはデータを再フォーマットできます。

 

 

 

 

3.タスクを正しく行うために、「Loop Item」の「Variable List」を修正する必要があります。以下のXpathを入力します。

//DIV[@class="quickAnnouncementList"]/UL/LI/A

 

4.詳細ページには得票数がないから、アイテムページで取得しかありません。ワークフローでは、「Extract data」のアイコンを「Loop Item」に引きずって、「Click Item」の上に置きます。

 

 

それから、アイテムから得票数をクリックして、「Extract text of the selectedelement」を選択します。

 

 

 

 

ステップ3:クローラーを行い、データを抽出する

「Save」をクリックして、クローラーの設定を保存します。それから、「Start Extraction」をクリック、クローラーを行い、以下のようにデータを取得しました!CSVExcelなどの形式で出力できます。

 

 

 

 

いかがでしたか?簡単にデータを取得できますね!皆さんもお試してみてください。