

【やりたいこと】データセットを使用したスクレイピングをしてみたい!
これまでのスクレイピング記事では、サイトやブログを指定してスクレイピングを行いました。
今回は、元々用意されているデータセットからスクレイピングを行います。
データセットを使用して、スクレイピングを行うには、
1.データセットのダウンロード
2.データセットの編集(扱いやすくするため)
3.スクレイピング
以上の流れになります。
本記事では、Wikipediaのデータセットを使用し、上記の1と2について記載します。
【10分でできる】Wikipediaデータセットのダウンロードと編集
※ダウンロード時間は10分の中に含まれていません。
1.使用したもの
・仮想環境 Ubuntu 14.04 64bit
・Virtual box
・Vagrant

・Term Term
・Python3.4
2.手順
※下記の記事の内容を完了しているものとして、進めていきます。


①データセットのダウンロード
Wikipediaのデータセットをサイトからダウンロードします。
下記のリンクに移動しましょう。
ダウンロードするデータセットの日付をクリックしましょう。
※本記事では、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>があります。
3.まとめ
Wikipediaのデータセットをダウンロードした後、データセットを使いやすくするために、文章を抽出したファイルを作成しました。
次回、文章から頻出単語を調べるために、mecabをインストールします。
【最後に】参考図書の紹介
以下の書籍は、私がPythonスクレイピングを勉強するにあたって、使用した書籍です。
「Python逆引き大全」は、秀和システムの技術書読み放題サービス「10×Eng」で読めます。最初の2週間は無料、それ以降は、月額900円で利用できます。
「プログラミング超初心者が初心者になるためのPython入門」はkindle unlimitedで読めます。
コメント