【スクレイピング】WikipediaのデータセットをPCにダウンロードしてみる+α

スクレイピング
スクレイピング準備記事

【やりたいこと】データセットを使用したスクレイピングをしてみたい!

これまでのスクレイピング記事では、サイトやブログを指定してスクレイピングを行いました。

今回は、元々用意されているデータセットからスクレイピングを行います。

データセットを使用して、スクレイピングを行うには、

1.データセットのダウンロード

2.データセットの編集(扱いやすくするため)

3.スクレイピング

以上の流れになります。

本記事では、Wikipediaのデータセットを使用し、上記の1と2について記載します。

【10分でできる】Wikipediaデータセットのダウンロードと編集

※ダウンロード時間は10分の中に含まれていません。

1.使用したもの

・仮想環境 Ubuntu 14.04 64bit

・Virtual box

Oracle VM VirtualBox

・Vagrant

Vagrant by HashiCorp
Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.

・Term Term

https://ja.osdn.net/projects/ttssh2/

Python3.4

2.手順

※下記の記事の内容を完了しているものとして、進めていきます。

【スクレイピング】仮想マシンの起動
【やりたいこと】仮想マシンを起動させたい! 今回は、初めてのスクレイピング記事になります。 スクレイピング記事の大まかな流れとしては、 仮想マシンを構築→スクレイピング 以上の流れで進めていきます。 今回は、1記事...
【スクレイピング】仮想マシンでPythonスクリプトファイルの実行
【やりたいこと】Pythonスクリプトファイルを仮想マシンで実行させたい! 前回の記事「【スクレイピング】仮想マシンの起動」の続きです。 ホストOSでPythonスクリプトファイルを実行するには、そのファイルがあるフォルダに...

①データセットのダウンロード

Wikipediaのデータセットをサイトからダウンロードします。

下記のリンクに移動しましょう。

Index of /jawiki/

ダウンロードするデータセットの日付をクリックしましょう。

※本記事では、20190120のデータセットをダウンロードする流れで進めていきます

下にスクロールすると、上記の画像と同じ蘭があるかと思います。

この中から、1つのファイルをダウンロードしますが、コマンドプロンプトでダウンロードするため、リンクのクリックはしないでください。

※本記事では、jawiki-20190120-pages-articles1.xml-p1p106175.bz2をダウンロードしました。

wget https://dumps.wikimedia.org/jawiki/20190120/jawiki-20190120-pages-articles1.xml-p1p106175.bz2

上記を実行し、データセットのダウンロードを行います。

正しくダウンロードできたか確認するために、共有フォルダを見てみましょう。

共有フォルダにjawiki-20190120-pages-articles1.xml-p1p106175.bz2がありましたね。ダウンロード成功です。

②ファイルの編集

ダウンロードしたファイルを扱いやすいように編集します。Wikipediaのデータセットで必要な部分は、もちろん文章ですよね。

ファイルから文章を抜き出すためにWikiExtractor.pyを使用します。

まずは、WikiExtractor.pyをダウンロードしましょう。

wget https://github.com/attardi/wikiextractor/raw/master/WikiExtractor.py

上記を実行して、WikiExtractor.pyをダウンロードしましょう。

次に、WikiExtractor.pyを使用して、Wikipediaのデータセットから文章を抜き出します。

python WikiExtractor. py --no-templates -o articles -b 5M jawiki-20190120-pages-articles1.xml-p1p106175.bz2 # -o は出力するフォルダの指定 -b は分割するファイルのサイズ指定

上記を実行し、Wikipediaのデータセットを5MB毎に分割して、articlesフォルダにそれぞれ保存します。

保存されているか確認してみましょう。

※1 100Mを5Mに変更してください。ファイルサイズが大きいとメモリー不足により正しく処理できない場合がありました。

処理の完了に数分かかります。

共有フォルダを確認すると、articlesフォルダが作成されていました。

articlesフォルダの中身を確認すると、

5MB毎に分割されたファイルがありました。

メモ帳で開いてみましょう。

データセットから文章が抜き出されていることが分かります。

上記の画像では、分かりませんが、1つの記事のはじめに<doc id=”” url=”” title=””>があり、終わりに</doc>があります。

メモ帳で開いた後に、上書き保存をしないでください。Pythonスクリプトファイルで処理するときにエラーが発生してしまいます。

3.まとめ

Wikipediaのデータセットをダウンロードした後、データセットを使いやすくするために、文章を抽出したファイルを作成しました。

次回、文章から頻出単語を調べるために、mecabをインストールします。

【最後に】参考図書の紹介

以下の書籍は、私がPythonスクレイピングを勉強するにあたって、使用した書籍です。

「Python逆引き大全」は、秀和システムの技術書読み放題サービス「10×Eng」で読めます。最初の2週間は無料、それ以降は、月額900円で利用できます。

「プログラミング超初心者が初心者になるためのPython入門」はkindle unlimitedで読めます。

 

コメント

タイトルとURLをコピーしました