無料で使えるスクレイピングツール9選
世の中には様々なスクレイピングツールがあります。しかし、すべてのWebスクレイピングツールが非プログラマーに向けるものではありません。この記事では、初心者向けに無料で利用できるWebスクレイピングツールをご紹介します。
ソフトウェア型
1. Octoparse
Octoparseは、個人や企業にもデータ抽出サービスを提供する日本語スクレイピングツールです。ソーシャルメディア、Eコーマス、マーケティング、営業リストなどの情報やデータを抽出できます。単純なHTML構造でのみコンテンツをスクレイピングするWebスクレーパーとは異なり、OctoparseはAJAX、JavaScript、cookieなどを利用している静的および動的Webサイトの両方を処理でき、ログインが必要なサイトなどの複雑なWebサイトにも対応できます。Octoparseはソースコードを解析することによってWebサイトに表示されていない情報を扱うことさえできます。
Octoparseはクラウドサービスも提供しています。クラウドサービスは、複数のクラウドサーバーが同時に1つのタスクを実行するため、短時間で膨大な量のデータを抽出することができます。また、必要に応じて、定期実行のスケジュールも設定することもできます。
それに、超初心者に向けのクローラーテンプレートもたくさん提供しています。タスクテンプレートを使うと、パラメータ(ターゲットページのURL、検索キーワードなど)を入力するだけで、データがどんどん抽出されてきます。取得したデータをCSV、Excel、またはデータベースなどの構造化フォーマットとして保存できます。
2. ParseHub
Parsehubは、Octoparseと同じ、AJAX、JavaScript、Cookieなどを使用するWebサイトからのデータ収集をサポートする優れたWebスクレイピングツールです。Parsehubは、Webドキュメントを読み取り、分析し、関連データに変換することができる機械学習テクノロジを利用します。URL指定とスクレイピングしたい箇所を選択するだけで、スクレイピングを実行します。
Parsehubは、Windows、Mac OS X、およびLinuxなどのシステムをサポートしています。またはブラウザ拡張機能を使用してインスタントスクレイピングを実現することもできます。無料版は40分に200ページまでしか対応できません。有料版には様々なサポートがあります。
3. Visual Scraper
VisualScraperは、もう1つの素晴らしい無料Webスクレイピングツールです。そのポイントアンドクリックインタフェースで、プログラミングスキルを持たないユーザーでも、自分の好みを設定してデータ抽出を設定できます。そのリアルタイム機能により、データの結果をすぐにテストして表示することができます。
VisualScraperはWindowsで利用可能で、無料プランなら、最大50,000のページ対応でき、有料プランで10万以上のページをスクレイピングすることができます。
1. Webscraper
Webscraperは、Chromeの拡張として提供されているスクレピングツール。ブラウザの拡張として動作するため、windows、Macどちらでも可能です。拡張機能なら、Webサイトがどのようにナビゲートされるべきであり、どんなデータがスクレイピングされるべきであるかについてのサイトマップ(計画)を作成することができます。もし大量のデータをスクレイピングし、複数のスクレイピングタスクを同時に実行する場合はクラウド版(有料)を選択することができます。データをCSVでエクスポートするか、Couch DBに保存することができます。
2. Scraper
Scraperは、WEBページ上のあるデータを手軽に取得することができるChrome拡張です。テーブルまたはリストからテキストを選択し、選択したテキストを右クリックしてブラウザメニューから[Scrape Similar]を選択します。次に、XPathまたはJQueryを使用して新しい列を追加することによってデータを取得し、他のコンテンツを抽出します。また、その取得したデータをワンクリックでGoogleスプレッドシートに保存することができます。
3. Outwit Hub
Outwit HubはFirefoxの拡張機能で、Firefoxアドオンストアから簡単にダウンロードできます。プログラミングの知識を必要とせずに、OutWit Hubはリンク、メールアドレス、RSSニュースおよびデータテーブルを抽出してExcel、CSV、HTMLまたはSQLデータベースにエクスポートできます。Outwit Hubには、入力したURLのリストからデータをすばやくスクレイピングする優れた「Fast Scrape」機能があります。使い方もシンプルで、簡単な構成のWebサイトスクレイピングに適しています。
1. Webhose.io
Webhose.ioを使用すると、世界中のオンラインソースをさまざまなクリーンな形式にクロールして、リアルタイムのデータを取得できます。このWebクローラーを使うと、さまざまなソースをカバーする複数のフィルターを使用でき、取得したデータからさまざまな言語のキーワードをさらに抽出することができます。
スクレイピングしたデータをExcel、XML、JSON、RSSなども形式で保存でき、アーカイブから履歴データにアクセスすることができます。さらに、webhose.ioは取得したデータを最大80種言語でサポートします。ユーザーはWebhose.ioによってクロールされた構造化データに簡単にインデックスを付けて検索することができます。
2. 80legs
80legsは、カスタマイズされた要件に基づいて構成できる強力で柔軟なデータスクレイピングツールです。それは膨大な量のデータの取得と共に、抽出されたデータを即時にダウンロードするオプションをサポートしています。開発者は、クローリングネットを広げるために80legs APIを自分のアプリケーションに組み込むことができます。80legsは、無料からでも利用でき、1回あたり10,000 URLまでわずか数秒でデータを取得できる高性能クローリング体験を提供します。
3. Crawly
CrawlyはWebサイトをスクレイピングしてJSONまたはCSVの形で構造化データに変換する自動サービスを提供しています。数秒以内に限られた要素を抽出することができます。例えば、HTML、コメント、DateEntityタグ、作成者、画像URL、ビデオ、発行者、および国です。
スクレイピングは難しそうにも思えますが、上記のスクレイピングツールを使用して思ったより簡単に自分で行うこともできます。皆さんもぜひお試ししてみてください!
データマイニングに必要なスキルは?
近年、「ビッグデータ」の注目に伴い、ビッグデータを活用するための手段として、「データマイニング」にもよく耳にします。「データマイニング」とは、そもそもどのようなものなのでしょうか?
データマイニングとは
データマイニング(Data mining)とは、その言葉の示す通り、膨大なデータから有効な情報を採掘(マイニング)する技術です。大量のデータを統計学や人工知能などの分析手法を駆使して、データの相関関係や隠れたパターンなどを見つけるための解析方法です。
データマイニングはデータサイエンスの分野における重要な技術です。Glassdoorの「アメリカの仕事ベスト50」のリストでは、データマイニングは、2016年から2018年にかけてアメリカで第1位の最高の仕事としてランクされています。
その上、2016年の1700件の求人情報と比べて、求人の数は2年間で160%大幅に増加しました。データサイエンティストやデータ分析スキルを持っている人に対する需要は今後数年間で増加し続けると予想することができます。
この記事では、データマイニングについての基本的なことから、データマイニングに必要なスキルについてご説明します。
コンピュータサイエンススキル
1. プログラミング/統計言語:R、Python、C ++、Java、Matlab、SQL、SAS、Unixシェル/ awk / sed…
データマイニングはプログラミングに大きく依存していますが、データマイニングに最適な言語はどちらという疑問についての結論はありません。もちろん、どちらかというと、扱うデータセットの次第です。KD Nuggetsの調査によると、RとPythonはデータサイエンスに最も人気のあるプログラミング言語です。
より多くのリソース: データサイエンスのためにどの言語を学ぶべきか [Freecode Camp] Rにおけるデータマイニングアルゴリズム [Wikibooks] データマイニングに最適なPythonモジュール [KD Nuggets] |
2. ビッグデータプロセッシングフレームワーク:Hadoop、Storm、Samza、Spark、Flink
プロセッシングフレームワークは、不揮発性メモリからデータを読み取り、データをデータシステムに取り込むように、システム内のデータを計算します。これは、大量の個々のデータポイントから情報を抽出し、洞察を得るプロセスです。batch-only、stream-only、hybridの3つに分類できます。
HadoopとSparkは今まで最も実装されているフレームワークです。Hadoopは、時間に左右されないバッチワークロードに適したオプションであり、他のものよりも実装コストが低いです。一方、Sparkは混在するワークロードに適したオプションであり、ストリームの高速バッチ処理とマイクロバッチ処理を提供します。
より多くのリソース: Hadoop、Storm、Samza、Spark、Flink:ビッグデータフレームワークの比較 [Digital Ocean] データマイニングのためのデータプロセッシングフレームワーク[Google Scholar] |
Linuxはデータマイニング科学者に人気のあるオペレーティングシステムで、より安定で効率で大規模なデータセットを操作することができます。Linuxの一般的なコマンドについて知っていて、LinuxにSpark分散型機械学習システムを導入できれば、それはプラスになります。
より多くのリソース: なぜデータサイエンスとRにLinuxを使うべきなのか [PATRICK SCHRATZ] |
4. データベースの知識:リレーショナルデータベースと非リレーショナルデータベース
大規模なデータセットを管理および処理するには、SQLやOracleなどのリレーショナルデータベース、または非リレーショナルデータベースに関する知識が必要です。非リレーショナルデータベースの主な種類は:列:Cassandra、HBase;ドキュメント:MongoDB、CouchDB;キー値:Redis、Dynamo。
統計とアルゴリズムのスキル
5. 基本的な統計知識:確率、確率分布、相関、回帰、線形代数、確率過程…
データマイニングの定義を思い出してください。データマイニングはコーディングやコンピュータサイエンスに関するものだけではなく、複数の分野の間にある接点であることがわかっています。統計学は、データマイナーにとって不可欠な基本的な知識です。これにより、質問を特定し、より正確な結論を導き、因果関係と相関関係を区別し、さらに発見事項の確実性を定量化することができます。
より多くのリソース: データサイエンスを行うために知っておくべき統計学 [Quora] データマイニングのための統計手法 [Research Gate] |
6. データ構造とアルゴリズム
データ構造には、配列、連結リスト、スタック、キュー、木構造、ハッシュテーブル、セットなどがあります。一般的なアルゴリズムには、ソートアル、検索、動的計画法、再帰などがあります。
データ構造とアルゴリズムに熟達すれば、データマイニングに非常に役立ちます。これは、大量のデータを処理するときに、より創造的で効率的なアルゴリズムソリューションを思い付くのに役立ちます。
より多くのリソース: データ、構造、およびデータサイエンスパイプライン [IBM Developer] Coursera:データ構造とアルゴリズム [UNIVERSITY OF CALIFORNIA SAN DIEGO] |
これはデータマイニングの最も重要な部分の1つです。機械学習アルゴリズムは、タスクを実行するように明示的にプログラムされることなく、予測または決定を行うためにサンプルデータの数学モデルを構築します。そして、ディープラーニングは、より幅広い機械学習手法の一部です。機械学習とデータマイニングは常に同じ方法を採用し、かなり重複します。
より多くのリソース: PythonおよびRコードを使用した機械学習アルゴリズムの要領 [Analytics Vidhya] 素晴らしい機械学習フレームワーク、ライブラリ、およびソフトウェアのキュレーションリスト(言語別) [Github josephmisiti] |
8. 自然言語処理
自然言語処理(NLP)は、コンピュータサイエンスと人工知能のサブフィールドとして、コンピュータが人間の言語を理解し、解釈し、操作するのを助けます。NLPは、単語のセグメンテーション、構文および意味分析、自動要約、およびテキスト含意に広く使用されています。大量のテキストを処理する必要があるデータマイナーにとって、NLPアルゴリズムを知ることは必須のスキルです。
より多くのリソース: データサイエンティスト向けの10のNLPタスク [Analytics Vidhya] 素晴らしい機械学習フレームワーク、ライブラリ、およびソフトウェアのキュレーションリスト(言語別) [Github josephmisiti] オープンソースのNLPライブラリ: Standford NLP; Apache OpenNLP; Naturel Language Toolkit |
その他
9. プロジェクト経験
プロジェクト経験はあなたのデータマイニングスキルを一番楽な証明です。DataCampのチーフデータサイエンティスト、デービッドロビンソン氏は次のように述べています。「私にとって最も効果的な戦略は公共事業を行うことでした。私は博士号の後半にブログを書き、多くのオープンソース開発を行いました。これらは私のデータサイエンススキルの公開証拠を与えるのを助けました。」
10. コミュニケーションとプレゼンテーションのスキル
データマイナーはデータを扱うだけでなく、データから引き出された結果や洞察を他の人、さらにはマーケティングチームなどの非技術者にも説明する責任があります。ですから、データの結果を解釈し、物語を口頭で、書面で、そしてプレゼンテーションでうまく伝えることができるはずです。
注目のWebスクレイピングツール5選を徹底比較!
Webスクレイピングツールとは?
Webスクレイピングツールは、Web上に表示されるデータをすばやく取得してExcel、テキスト、CVSなどの構造化形式に変換するのに役立つツールとして簡単に理解できます。Webスクレイピングツールの最も認識されている価値の1つは、面倒なコピペ作業から解放されることです。このプロセスは、必要なデータが必要な形式でスケジュールどおりに配信されるまで自動化できます。
利用可能なWebスクレイピングツールがさまざまあり、一部分はより技術的な背景を必要とし、一部分は非プログラマーのために開発されます。使ったことがある上位5つのWebスクレイピングツールを比較して、詳細に説明します。
データを収集してできることは何か?
- 私は学生です。個人研究/論文執筆を支援するためにデータが必要です。
- 私はマーケティングアナリストです。マーケティング戦略をサポートするためにデータを収集する必要があります。
- 私はプロジェクトマネージャーです。さまざまな製品の競合分析のためのデータが必要です。
- 私はCEOです。戦略の意思決定プロセスを支援するためには、すべての事業部門に関するデータが必要です。
- 私はデータアナリストなので、データなしで仕事をすることはできません。
- 私はeコマースの経営者です。販売している商品の価格がどのように変動するのかを知る必要があります。
- 私はトレーダーです。次のマーケットの動きを導くためには無限の財務データが必要です。
- 私は機械学習/ディープラーニングの分野にいます。ボットモデルをトレーニングするには大量のデータが必要です。
データが必要になる場合は、数え切れないほど多くあります。
注目のWebスクレイピングツール5選
1. Octoparse
Octoparseは、非プログラマー向けの使いやすいWebスクレイピングツールです。動的Webサイトを扱い、ログイン認証、テキスト入力、ドロップダウンメニューからの選択、マウスオーバーで表示されるメニューの対応、スクロールダウンなど、さまざまな方法であらゆるサイトに対応するのに十分強力です。Octoparseはクラウドベースの抽出(有料機能)とローカル抽出(無料)を提供しています。より正確なスクレイピングのために、OctoparseにはXPathと正規表現のツールが組み込まれており、高い精度でスクレイピングするのに役に立ちます。それに、超初心者に向けのクローラーテンプレートもたくさん提供しています。タスクテンプレートを使うと、パラメータ(ターゲットページのURL、検索キーワードなど)を入力するだけで、データがどんどん抽出されてきます。
2. Parsehub
Parsehubは、非プログラマーにはやさしいWebスクレイピングソフトウェアです。デスクトップアプリケーションであるParsehubは、Windows、Mac OS X、Linuxなどのさまざまなシステムでサポートされています。Octoparseと同じ、Parsehubは前述の複雑なWebスクレイピングのシナリオを扱うことができます。Parsehubは簡単なWebスクレイピング体験を提供するつもりですが、その高度な機能の多くを完全に把握するためにユーザーはまだ少し勉強する必要があります。
3. Dexi.io
Dexi.ioは、開発、ホスティング、およびスケジューリングサービスを提供するクラウドベースのWebスクレーパーです。Dexi.ioは非常に強力ですが、OctoparseやParsehubと比べると、より高度なプログラミングスキルが必要です。Dexiでは、3種類のロボット(エクストラクタ、クローラー、パイプ)を利用できます。Dexiは、キャプチャソルバー、クラウドストレージなど、さまざまなサードパーティサービスとの統合をサポートしています。
4. Mozenda
Mozendaは、Octoparseクラウド抽出と同じのクラウドベースのWebスクレイピングサービスを提供しています。市場で「最も古い」Webスクレイピングソフトウェアの1つであるMozendaは、高いレベルの一貫性で実行され、見栄えの良いUIを持ち、Webスクレイピングプロジェクトを始めるために必要なものを備えています。Mozendaには、Mozenda Webコンソールとエージェントビルダーの2つの部分があります。Mozendaエージェントビルダーはスクレイピングプロジェクトを構築するために使用されるWindowsアプリケーションであり、Webコンソールはユーザーがプロジェクトを実行するスケジュールまたは抽出されたデータへのアクセスを設定することを可能にするWebアプリケーションです。Octoparseと同じ、MozendaもWindowsシステムに依存しており、Macユーザーにとっては少し面倒です。
5. Import.io
「マジック」で有名 - 自動的にあらゆるWebサイトを構造化データに変える、Import.ioは人気を集めています。しかし、多くのユーザーは、それがさまざまな種類のWebサイトを処理するのに十分に「魔法のような」ものではないことを発見しました。それに加えて、Import.ioは良いガイド付きインターフェースを持っていて、JSON RESTベースとストリーミングAPIを通してリアルタイムのデータ検索をサポートし、様々なシステムで動くことができるWebアプリケーションです。
特徴の徹底比較
まとめ
世の中では完璧なツールは1つもありません。すべてのツールには長所と短所があり、人々のニーズやスキルにより適しています。OctoparseとMozendaは他のスクレイピングツールよりもはるかに使いやすいです。これらは、非プログラマーがWebスクレイピングを可能にするために作成されたものです。そのため、いくつかのビデオチュートリアルを見ることで、すぐに問題を解決することが期待できます。Import.ioも使い始めるのが簡単ですが、単純なWeb構造でのみ最もよく機能します。Dexi.ioとParsehubはどちらも強力な機能を備えた強力なスクレーパーです。しかし、マスターするためにプログラミングスキルを必要とします。
元記事:https://www.octoparse.jp/blog/top-5-web-scraping-tools-comparison/
Webスクレイピングを用いたEコマース価格戦略
ここ数年、ネット通販を副業として、個人事業を立ち上げたサラリーマンや主婦の方が増えてきています。ネットショップの開設が簡単であることは間違いありませんが、もちろん誰でも簡単に成功する訳ではありません。
特に「価格戦略」や「価格設定」は簡単に身につけることではありません。皆さんが知っているように、正しい価格設定がeコマースにとって従来以上に重要になっています。約90%の消費者は、オンラインで商品を購入する前に、さまざまなネットショップで価格を比較すると答えています。eコマースの経営者として、まともな利益を上げながら競争力を維持する最適な価格をどのように設定すればよいでしょうか?
この記事では、新規販売者がeコマースビジネスを習得するための3つの戦略と紹介したいと思います。
ステップ1. 最適な価格を設定する
経営者としては、「できる限り高く売って、利益を多くとりたい」と考えているでしょう。しかし、「値段を高めに設定したり、値上げをしたりするとお客さんが離れていくの……?」という不安もあるでしょう。
利益を最大化するためには、「適切」な価格を探る必要があります。
例えば、製造コスト0.7ドル/本のThug lifeサングラスを販売するつもりです。eコマースの「コストプラス方式価格設定」に基づいて、製造時の原材料費、人件費、設備費から割り出した1商品あたりの原価に対して、利益を上乗せする形で価格を設定します。
コスト+利益=販売価格
もし、50%の利益を作ろうとした場合、計算すると、
材料費:$0.7
送料:$4.39
販売価格:($ 0.7 + $ 4.39)*150% = $ 7.63
この価格で売れるかな?
普通には、自分の感覚ではなく、まず市場データを集めながら俯瞰的に見て価格を設定しますね。実際にやってみましょう。
まず、Octoparseを使ってeBayをスクレイピングし、Thug lifeサングラス/ 8ビットピクセルサングラス(異なるタグを持つ同じ製品)の価格、販売数、および販売者についてのデータを収集します。
次、それらのデータを整理します。最も人気のある価格は$ 0.99で、4502点が販売されました。2番目に人気があるのは$ 1.99で、2331点が販売されました。2つの間の価格帯、そして1.99ドルを超えてはそれほど人気ではありません。その中では、$0.99を設定する販売者が24人、$4.99ドルのは13人、$1.99のは9人がいます。もし先のように$ 7.63に設定すれば、高すぎであまり売れませんよね。
それから、売り上げを計算をしてみましょう。
$0.99のサングラスは最大の市場需要を持っていますが、成長する余地はほとんどなく、それに$1.99と比べると、売り上げも少なくなります。結論として、$1.99が最適な価格です。
ステップ2. 動的価格を設定する
前述のように、コストプラス方式価格設定は、単に商品原価に利益を加えて、価格を決定する最も簡単な方法で、多くの企業で用いられているプライシング手法です。しかし、このような単純な手法は、経営者を市場の他の競争相手を無視するようにさせるかもしれません。たとえば、価格1で固定価格を保持している場合、Xの金額の収益しか得られず、YとZの部分を見逃すことになります。
動的価格設定は、現在の市場での需要や競合状況に応じて柔軟に設定価格を変える価格戦略のことです。つまり、常に市場を監視することで最適な価格で設定することができます。理想的には、価格1,2,3,4…で市場をカバーしていれば、売り上げはX、Y、Zなどの合計です。
動的価格を設定するには、次のことが必要です。
- 二重価格表示
ネットショップでは元の通常販売価格と、割引き後の価格を並べて表示することを二重価格表示と呼んでいます。セール期間中などは特によく見かける表記ですよね。もちろん消費者に対し、セール価格が「安い」との誤認を与える場合があり得ます。ですから、景品表示法違反とならないように注意すべきです。
- 抱き合わせ価格
複数の製品やサービスを一緒にして合わせて付けられた価格で、抱合せ販売されるのは非常に一般的です。金額を安くするので損するような感じがますが、単体で販売するよりセットの方がたくさんの商品を買ってもらえるので、全体的には売上は上がるのです。
- おとり商品
利益ゼロ、あるいはコスト割れの価格をつけた商品をいくつかして、お客さんを自分のネットショップにひきつけることで、他の商品の販売を増進させることができます。こうした商品をおとり商品、あるいはロス・リーダー(損失先導商品)といいます。おとり商品の選定については、知名度が高くしかも必要度の高いものが選ばれるのが通例です。
- 浸透価格
浸透価格とは、新製品の発売初期の価格を比較的低い水準に設定し、できるだけ早く市場全体への漫透をはかり、市場シェア(マーケット・シェア)を拡大することによって長期的な収益を上げるためによく採用され戦略です。当初はたとえ儲からなくても、インパクトのある低価格で消費者を魅了し、販売量を急激に増加させてマーケットシェアNo.1を確保したところで、大量生産によって生産コストを大幅に削減し、収益を拡大するシナリオを描いていくのです。
ステップ3. 経費を管理する
経費は利益を減らす直接の要素となりますので、利益を最大化するために、その用途は誰でもわかるように費目別に管理しなければなりません。そうすると、価格戦略をより良い把握できます。最も一般的な経費は次のとおりです。
- 家賃
- 管理費
- 人件費
- 税金
- 保険
- マーケティング
まとめ
価格設定はeコマースの経営者にとって不可欠です。したがって、1日ごとまたは一週間ごとに価格を監視することが重要です。Octoparseは、Amazon、eBay、Yahooショッピングなど、あらゆるECサイトからデータを収集するための優れた無料ツールです。リアルタイムの価格監視を達成するには、スクレイピング作業をスケジュールすることもできます。あなたの製品やサービスですぐに使えそうな価格戦略がありましたら、ぜひ活用してみてください。
Facebookからデータを収集する前に知っておくべき5つのこと
1. 実際、robots.txtファイルによると、Facebookはスクレイピングを禁止している
Webサイトをスクレイピングするする前に、必ずrobots.txtを確認してください。Robots.txt は、Googleなどのロボット型検索エンジンのクローラーの巡回を指示するファイルです。ターゲットWebサイトのURLの最後に「/robots.txt」を加えることによってファイルにアクセスすることができます。
ブラウザにhttps://www.facebook.com/robots.txtを入力して、Facebookのrobotsファイルを確認しましょう。この2行はファイルの末尾にあります。
それは、Facebookがすべてのデータスクレイピングを禁止すると表示しています。つまり、Webサイトのどの部分にも自動クローラーがアクセスすることはできません。
なぜrobots.txtの規則に従うべきですか?
robots.txtを利用すると、「指定したWebページやファイルに対するアクセス可否」をクローラーの種類別に指定することが可能です。robots.txtファイルに従うことは、非公開の情報を盗むため使ったり、スクレイピング禁止するWebサイトを無断でスクレイピングしたり、著作権者の同意なく著作物をコピーするなどの非倫理的なデータ収集や法的な問題を回避することができます。
2. Facebookからデータを収集する唯一の合法的な方法は、事前に書面の許可を得ることだ
Facebookは、robots.txtファイルの冒頭で次のように警告しています。「明示的な書面による許可がない限り、Facebookのスクレイピングは禁止されています。」
2行目のリンクを確認すると、FacebookのAutomated Data Collection Terms(自動データ収集規約)が見つかります。これは2010年4月15日に改訂されました。
ソーシャルメディアの巨人として、Facebookには資金、時間、そして専任の法務チームを持っています。自動データ収集規約を無視してFacebookのスクレイピングを進めても大丈夫ですが、少なくとも「書面による許可」を得るように警告されます。時には彼らは違法なスクレイピングに対してかなり攻撃的である可能性もあります。
3. GDPRが施行された後は、個人データをスクレイピングしようとしている場合に訴訟を起こす可能性が高くなる
GDPR(EU一般データ保護規則)が2018年5月25日から施行されます。これはこの20年以来データプライバシー規制の最も重要な変更であると言われています。テクノロジーから広告、そして医療から銀行業務に至るまで、あらゆる面で大きな変化を強いることになります。
Facebookのようなテクノロジー企業のように、大量の消費者データを保管し処理する企業や組織は、GDPRの下で最も影響を受けます。以前は、ユーザーデータを保護するために、会社は規則を強制していました。今GDPRの下で、彼らは法律を完全に遵守していることを確認する必要があります。
ただし、良いことはGDPRは個人データにのみ適用されるのです。
ここで「個人データ」とは、特定の個人を直接的または間接的に識別するために使用される可能性があるデータを指します。このような情報は、個人の識別情報(PII)と呼ばれ、個人の名前、住所、メールアドレス、電話番号、IPアドレス、生年月日、雇用情報、さらにはビデオ/オーディオの記録も含まれます。
もし個人データをスクレイピングしていない場合、GDPRは適用されません。
簡単に言えば、本人の明示的な同意を得ていない限り、GDPRの下でEU居住者の個人データをこすることは現在違法です。
4. 必要に応じてFacebookからデータを収集することができる
robots.txtを無視してクローリングを行ったことがあれば、ルール違反のために法的な問題が起こるわけではありません。
ソーシャルメディアから収集されたデータは、間違いなく人間の行動や現実の出来事に関する最大かつ最も活躍ななデータセットです。10年以上にわたり、世界中の研究者やビジネス専門家がスクレイピング技術を利用してFacebookから収集した情報で、個人、グループ、社会を理解できる代表的なサンプルを作成し、データに隠されたまったく新しい機会を探っています。
ユーザーにとっては、ソーシャルデータの使用は必ずしも悪いことではないことに同意するでしょう。たとえば、マーケティングをパーソナライズするためのソーシャルデータを使って、パーソナライズマーケティングを実施するのは、インターネットを自由に保ち、広告やコンテンツをより関連性の高いものにすることができます。
Facebookは昨年4月からAPIのアクセス制限を実施しました。APIがなければ、ユーザーインターフェース、つまりWebページを介してのみFacebookのデータを取得できます。この時はスクレイピングツールの出番です。「2018年ソーシャルメディアスクレイピングツールトップ5」という記事をご参考ください。
5. Facebookの代替ソースを探しよう
前述のように、Facebookではすべての自動クローラーを禁止していますが、技術的にサイトからデータを収集することは依然として可能です。もちろんこれは危険です。
法的な影響以外にも、Facebookが不審なIPをブロックするため、定期的に目標データを取得することが難しくなります。そして厳しいブロッキングメカニズムを実装する可能性さえあり、それはサイトからのデータスクレイピングを全く不可能にするかもしれません。
ですから、TwitterやInstagramなど信頼性の高いソースからソーシャルメディアデータをスクレイピングすることをお勧めします。
【Python】マーベル映画における男女格差を調べてみた
11年続いたマーベル・シネマティック・ユニバース(MCU)の「アベンジャーズ」シリーズがいよいよ完結しました。待ちに待った「アベンジャーズ エンドゲーム」が4月26日に公開され、MCUファンではない私も観に行ってきました。さすが集大成の作品です!MCU史上最高傑作と断言してもいいでしょう。
マーベル映画といえば、今年もう1本の作品「キャプテン・マーベル」が3月15日公開されました。この作は、マーベル・シネマティック・ユニバース初の女性ヒーローの単独主演作です。これまで「ワンダーウーマン」、「ジェシカ・ジョーンズ」や「ブラック・ウィドウ」など、女性ヒーローも登場してきました。それは、映画業界ににおける女性の立場の変革を、マーベル作品を通じて訴えると思います。
この記事では、この20年間の2000本映画作品に出る俳優の名前に性別分析を行い、Pythonを使って毎年各映画の男女比率を計算し、映画業界における女性登場人物の変化を見たいと思います。
まず、Octoparseを使って「Box Office Mojo」から2000年ー2019年の映画情報をスクレイピングします。この20年間のURLをOctoparseに入力して、ループ抽出リストを作成します。
抽出されるデータフィールドは「Title, Actors, Distributors, Domestic_Total_Gross, Foreign_Gross」です。約20分後、20年間で2000本映画の詳細をすべて入手できます。
次に、テキストがトークン化されるように、Pythonでデータを整理します。
それから、一年の映画の中で女性と男性の俳優の人数を取得します。これを行うために、名前分析を通じて性別を分かる性別辞書リストをロードしました。
完全のコードはこちらからダウンロードできます。
リストを取得した後、以下のようにデータを視覚化してみました。実線は実際の数を示し、 点線は発展傾向を示しています。
2本の線が同じ方向に動いていて、2010年までに上昇し、2011年にピークに達し、それから落ちました。俳優の人数は減っていることを明らかに見えます。このデータから、映画業界は明らかな男女格差が生じていると推察できますが、この数年、この格差がだんだん縮小していることも分かります。
マーベル映画はどうですか?
対照的に、どちらの線も2012年以降上昇しており、2012年から2013年の間に急増しています。さらに、女性俳優もこの時期から増えています。それは、映画業界がより多くの女性俳優をヒーローシリーズに紹介しようとしているという事実に言えます。2012年からの景気回復期はヒーロー映画の流行と男女俳優人数のバランスで重要な役割を果たしています。ヒーローのイメージ、「自由」と「民主主義」の概念を含む国民的アイデンティティを表しています。女性俳優は主人公ではないかもしれませんが、ストーリーラインを前進させ始めているから。ハンガーゲーム(2012)、ダイバージェント(2014)、ルーシー(2014)、マッドマックス:フューリーロード(2015)、ローグワン:スターウォーズストーリー(2016)、ワンダーウーマン(2017)など、映画に登場する異なるタイプのスーパーヒロインはますます増えています。スーパーヒロインの人気は女性の権利をまた一歩前進させるでしょう。
映画業界は、まだまだ発展できるので、もっと魅力的で斬新な映画が観られるのです。女性の活躍を描くような映画も増えると感じられますね。
【Python】ドナルド・トランプにおけるTwitter民の感情分析
今世界で最も話題の人、ドナルド・トランプ米大統領は就任から3年目になりました。大統領就任後、相次いで発信されるツイートがさまざまな波紋を引き起こしています。トランプの「迷」言集はいつもニュースやソーシャルメディアで響いて、日本のマスコミでも、彼の失言や暴言を切り取って面白おかしく報じています。トランプは馬鹿か、戦略家かって、市場の評価も両極端です。
この記事では、Webスクレイピングツールを使って、ドナルド・トランプに関するツイートを抽出します。それからPythonを使ってデータマイニングと感情分析を行い、大統領についての公衆の声を見つけます。最後に、Tableau publicを使ってそれらのデータを視覚化します。
それでは、早速スタートです!
Webスクレイピングでデータを収集する
Octoparseを使ってスクレイピングから始めます。公式サイトから最新バージョンをダウンロードし、指示に従って登録を完了しました。ログインしたら、組み込みのTwitterテンプレートを開きます。
抽出されるデータ
投稿者
投稿時間
コンテンツ
画像のURL
ツイートURL
コメント数、リツイート数、いいね数など
Webクローラーにキーワードを伝えるためにパラメータフィールドに「Donald Trump」と入力します。見た目と同じくらい簡単で、私は約1万件のツイートを得ました。もちろんあなたはできるだけ多くのツイートをスクレイピングすることができます。ツイートを取得したら、データをテキストファイルとしてエクスポートし、ファイルに「data.txt」という名前を付けます。
始める前に、Pythonとテキストエディタがコンピュータにインストールされていることを確認してください。私はPython 2.7とNotepad ++を使います。
それに、2つの意見単語リスト(ダウンロードはこちら)を使用して、抽出されたツイートを分析します。これら2つのリストには、Minqing HuとBing Liuによってソーシャルメディアで出た意見語についての調査研究からまとめた肯定的な単語と否定的な単語(感情の単語)が含まれています。
ここでは、リストから各意見語を取り出し、ツイートに戻り、ツイートの中の各意見語の頻度を数えたいと思います。その結果、ツイートから対応する意見語とその数を収集します。
まず、ダウンロードした2つの単語リストによって、肯定的なリストと否定的なリストを作成します。それらのリストはテキストファイルから解析されたすべての単語を保存します。
次に、次のコードを使って句読点、記号、および数字をすべて削除してテキストを前処理し、データをまとめます。
分析を容易するために、データはトークン化された単語のみで構成されます。その後、word_count_dict、word_count_positive、およびword_count_negativeの3つの辞書を作成します。
それから、各辞書を定義します。データに意見語がある場合は、word_count_dictの値を1増やして数えます。
計算した後、単語が肯定的か否定的かを判断します。それが肯定的な単語である場合、word_count_positiveはその値を「1」増加させます。それ以外の場合、肯定的な辞書は同じ値のままです。同じように、word_count_negativeはその値を増やすか、同じ値のままにします。その単語が肯定的なリストにも否定的なリストにも存在しない場合、それは合格です。
コードの完全版については、ここからダウンロードできます。
感情:肯定的 vs. 否定的
その結果、5352個の否定的な単語と3894個の肯定的な単語を得ました。それらをTableau publicで開き、バブルチャートを作成しました。Tablau publicでバブルチャートを作成する方法をご参考ください。
肯定的な言葉の使用は一面的で、使用されている肯定的な単語は404種類だけです。最も頻繁に使用される単語は「like」、「great」、「right」で、ほとんどの単語の選択は「wow」や「cool」など基本的な口語です。しかし、否定的な単語の使用はより多面的で、809種類の否定的な単語があり、それらのほとんどは正式で高級なものです。最も頻繁に使用されるのは「illegal」、「lies」、「racist」です。「delinquent」、「inflammatory」、「hypocrites」などの他の高級な単語も存在しています。
まとめ
今回の分析により、ドナルド・トランプはTwitterユーザーの間ではあまり歓迎されていないことを明らかに示しています。ただし、15000件のツイートをスクレイピングしたが、スクレイピングされたデータの中には、テキストの内容がない、意見がまったく表示されないツイートが5000件ありますので、その結果は適切ではないところがあるかもしれません。また、この記事の分析では、偏りのある意見(否定的または肯定的)にのみ焦点を当てています。きめ細かい感情分析は、さまざまな程度に、より正確であるべきです。