スクレイピングでテキストを取得するのは簡単です。プログラム経験者は知っていると思いますが、プログラムの正規表現を使うだけで、目的のテキストを取得することはできます。
しかし一般の人がプログラムを覚え、テキストをスクレイピングするのは効率的とは言えません。テキストの取得は、スクレイピングツールが便利です。
本記事ではスクレイピングツールで、サイトのテキストをスクレイピングするときのポイントを解説します。
目次
テキストをスクレイピングするときの基本
これからはテキストをスクレイピングするときの基本を解説します。
テキストは<body>タグの間にある
インターネットユーザーが閲覧できるのは、<body></body>に囲まれたテキストです。スクレイピングも同様で、テキストをスクレイピングするときは、<body></body>に注目しなければいけません。
しかしサイト上からは<body></body>というタグは見えないので、初心者はどうしたらいいのか迷うでしょう。
タグを見るときは、サイト上で右クリックしたらいいです。
chromeであれば「ページのソースを表示」という項目があるので、それをクリックしたらソース画面になります。他のブラウザにも似たような項目があるはずです。
スクレイピングするときは<body>を指定する
スクレイピングツールでテキストを取得するときは、スクレイピングツールで<body>を指定すればいいです。
指定方法はスクレイピングツールによって異なると思うので、マニュアルをよく読んでほしいと思います。
本当に簡単でしょう?
でもこの方法だったら不要なデータまで取得してしまうので、次の項目からはより効率的にテキストをスクレイピングする方法を解説します。
スポンサーリンク
テキストをより効率的にスクレイピングする際のポイント
これからはテキストを効率的に、スクレイピングするポイントを解説します。
正確にタグを見極める
<body></body>間には、他のタグも含まれているのが一般的です。そのため特定のテキストの内容をスクレイピングしたいときは、対象のタグを見極めなければいけません。
対象のタグを見極める方法も簡単で、対象のサイト上で右クリックし、ソース画面を出すだけです。もし目的のテキストが<b></b>タグで囲まれていた場合は、スクレイピングツールで<b>タグを指定すればいいだけです。
全くの初心者の人はタグを見るだけで頭が痛くなるかもしれませんが、一ヶ月も勉強したらだいたい慣れると思います。
特定のタグに囲まれていない場合はフィルター機能を使う
目的のテキスト内容が特定のタグで囲まれていない場合は、フィルター機能を使うしかありません。無料のスクレイピングツールには、フィルター機能がないものが多いかもしれません。
フィルター機能を多用する人は、是非とも有料のスクレイピングツールを使ってください。フィルター機能があるだけで、もの凄く効率的になります。
例えば<body></body>内の「大谷翔平」というフレーズを抜き出したい場合は、フィルターで「大谷翔平」を指定してください。
スクレイピングツールによっては、ワイルドカードが使えると思います。ワイルドカードを使えば、「大谷翔平」に関するさまざまな文章が取得しやすくなると思います。
フィルター機能がないスクレイピングツールの場合はExcel
フィルター機能がないスクレイピングツールの場合は、いったんすべてのテキストを取得するしかありません。
それからはExcelに転記し、Excelのフィルター機能を使うしかないでしょう。Excel以外にもフィルター機能があるソフトはありますが、データの再利用を考えたらExcelに転記した方が後々便利です。
Excelに転記するときは、句読点でデータを区切ったら便利だと思います。
テキストをスクレイピングする価値
テキストをスクレイピングすることは難しくはありませんが、これからはテキストをスクレイピングする価値を考えたいと思います。
外国語の勉強に役立てることができる
英文のテキストをスクレイピングしたら、英語の勉強に役立てることができます。
外国語の勉強は教科書を使ってもいいですが、教科書は少し古い表現が多いです。その点、webメディアで使われている外国語は最新の表現が多く、それらを習得したら現地の人と自然な会話ができます。
また特定の熟語を学ぶときも、スクレイピングは役立ちます。熟語をスクレイピングするときは、フィルター機能を使えば便利です。
外国語の熟語を数多く覚えるだけで、それなりに会話ができるようになると思います。
紙の本にするときに便利
著作権がある本はやめた方がいいですが、テキストをスクレイピングしたら、紙の本にするときに便利です。
スクレイピングツールでスクレイピングしたら、ページ番号を無視してテキストを収集するので、後でWordなどを使い再編集してください。
それでもテキストそのものはあるので、再編集に多くの時間を費やすことはないでしょう。著作権のないオンラインの文章をスクレイピングし、国語の授業をしても面白いと思います。
スポンサーリンク
大量のテキストをスクレイピングするときは容量の多いサービス
大量のテキストをスクレイピングするときは、容量の多いサービスが便利です。
スクレイピングサービスには容量制限がある
スクレイピングサービスはスクレイピング量に応じて課金することが多いですが、中には容量の限界が決まっているスクレイピングサービスがあります。
大量のテキストをスクレイピングしたら容量が膨れ上がるので、利用するときは容量の多いスクレイピングサービスを選んだ方がいいと思います。
容量に応じて料金が変わる課金制でも構いませんが、スクレイピング量が少ないユーザーが、課金制のサービスを使うときは、最初は少なめの容量からスタートすることをおすすめします。
テキストは画像と異なり、ディスクを極端に食い潰さないので、最初から大容量のプランを選択する必要はありません。
容量以外ではトラフィック管理に注目
テキストをスクレイピングするときは容量の多いスクレイピングサービスが便利ですが、容量だけではなく、トラフィック管理にも注目したいものです。
一度に多くの利用者がアクセスしたらサービスが重たくなりますが、適切にトラフィック管理をしてくれたら、いつも快適に利用できます。
トラフィック管理は凄く難しい技術なので、できたら実績のあるスクレイピングサービスを選んだ方がいいでしょう。
ファイル形式が選べるスクレイピングサービス
テキストをスクレイピングした後は、再利用しやすいファイルに格納してくれたら助かります。CSVファイルは利用者にもプログラマにも便利ですが、データを柔軟に処理したいプログラマは、JSON形式で提供してくれたら助かります。
JSONは異なるプログラム言語であっても簡単に扱えるのが特徴で、多くのプログラマが利用しています。
JSONが解るプログラマは、是非ともJSONでデータをダウンロードしてください。きっと面白いサービスが構築できますよ。
まとめ
スクレイピングでテキストを取得するポイントを解説しましたが、テキストの取得自体は難しくはありません。むしろ簡単な部類だと思います。
テキストを賢く取得したい人は、フィルターを使いましょう。
有料のスクレイピングサービスにはフィルター機能があるものが多いですが、総合的にはBright Dataが一番です。
無料体験ができるので、関心のある方は一度お試しください。
コメントを残す