疑問に答えます!なぜWebスクレイピングを学ぶのか?
Webスクレイピングとは?
Webスクレイピングは、Webサイトから情報を抽出し、その情報を分析可能な構造化データに変換するプロセスです。Webスクレイピングは、Webデータ抽出またはスクリーンスクレイピングとも呼ばれます。膨大なデータがインターネット上で利用可能になっているため、Webスクレイピングはビッグデータセットを集約する不可欠な手法になっています。
それでは、なぜWebスクレイピングを学ぶのか、誰がWebスクレイピングをしているのですか?今回はWebスクレイピングスキルを必要とするさまざまな業種や仕事を調べることによって、この問題に取り組んでいきます。調査を行うため、 Indeed、Glassdoor、LinkedInなどの求人サイトからデータを抽出し、いろいろと分析しました。最後に、GoogleとYoutubeを調査し、Webスクレイピングキルを必要とする仕事数とWebスクレイピング以外の要求を調べました。
さて、調査の結果を見てみましょう。そのプロセスに興味がある場合は、弊社のGitHub Repositoriesをチェックして、Webクローラー をダウンロードしてください。
発見 1: 54の業種がWebスクレイピングスキルを要求している
以下の統計は、LinkedInから収集された情報に基づいています。Webスクレイピングスキルの需要が最も上位10業種:コンピュータソフトウェア(22%); 情報技術とサービス(21%); 金融サービス(12%); インターネット(11%); マーケティングと広告(5%); コンピュータ&ネットワークセキュリティ(3%); 保険(2%); 銀行業務(2%); 経営コンサルティング(2%); オンラインメディア(2%)。
石油とエネルギー ; 建築工事; 消費財; 防衛&宇宙; 人材募集/採用; 病院&ヘルスケア; 教育管理; 非営利団体管理; 医薬品; 出版; 研究; 電気/電子製造; 行政管理などの業種にもWebスクレイピングスキルを要求しています。
発見 2: 技術以外の職業がWebスクレイピングスキルを要求している
Webスクレイピングを必要とするほとんどの職業は、エンジニアリングや情報技術のような技術関連のものであることはもちろんです。
しかし、驚くことに、LinkedInの情報に基づいて、人材、マーケティング、ビジネス開発、研究、販売、コンサルティング、ライティング/編集などの仕事もWebスクレイピングスキルを要求しています。
発見 3: 給与が高い職業トップ10
Glassdoorから収集された情報に基づいて、様々な職業の給与には25万ドルから203万ドルの大きな差があります。すべての職業の中で、高級データエンジニアとデータサイエンティストの給与が一番高いです。
(以上のデータは、Glassdoorの職業の基本給与範囲の見積もりに基づい、実際の給与ではありません。)
収集した求人情報の中で、給与が低い職業は、政治レポーターと初級リクルーターで、それぞれは$ 25Kと$ 29Kからです。
発見 4: 給与が高い業種トップ10
また、Glassdoorから抽出された同じデータセットに基づいて、異なる業種間の平均給与を調べました。情報技術は第5位です。
発見 5: Webテクノロジー企業にあるWebスクレイピング (Googleを例として)
すべての調査結果をまとめる前に、テクノロジーの最大手企業 - GoogleからWebスクレイピングに関する職業をすべて収集しました。Webスクレイピングの専門家にとってソフトウェアと情報技術会社が最大の市場であることは明らかです。
Googleの子会社 - YouTubeは、規模やサービスがGoogleとは違いますが、異なる職位で高いレベルのWebスクレイピングスキルを要求しています。
まとめ
技術的な職業とテクノロジー企業だけでなく、今のデジタル世界ではWebスクレイピングが不可欠なスキルになったと言えるでしょう。大規模なデータセットを編集することは、ビッグデータ分析、機械学習、人工知能の基本です。その同時に、デジタル情報の爆発的な増加に伴い、ビッグデータはこれまで以上にアクセスしやすくなっています。
Webスクレイピング自動化ツールはよりスマート、人気が高くなるにつれて、プログラミングの知識のない人でも、Webスクレイピングを手軽に適用できるようになり、ビッグデータを洞察して、ビジネスを強化します。
Webスクレイピングスキルを身につけたいが、Pythonなどのプログラミング言語を扱いたくない場合は、無料の自動スクレイピングツールOctoparseは良いオプションかもしれません。
Webスクレイピングに不可欠!Xpathのまとめ
Octoparseを利用する時、要素をクリックすることでデータの位置が自動識別されますが、ページ遷移、データ取得などのステップにXpathを直す場合もあります。Octoparseを活用するには、XPathの知識は欠かせないので、今回はXPathについてまとめします。
XPathとは
XPath (XML Path Language)とは、XML形式の文書から、特定の部分を指定して抽出するための簡潔な構文(言語)です。HTMLもXMLの一種とみなすことができるため、HTML形式の文書にも対応します。Xpathは、WebスクレイピングでWebページの情報を取得する時によく利用します。
Firefox使ってい場合、XPathを表示するには、プラグイン - 「Firebug」をインストールする必要があります。(注:FireBugは、Webページ上の任意の要素のHTML / SCCを簡単に検索して、Webページのデバッグと開発を簡単にするために使用されます)。
FirefoxでWebページを開き、Firebugボタンをクリックし、ページ内の要素をクリックして、そのXPathを取得できます。または、ページを右クリックするだけで、「Inspect in FirePath」オプションが表示されます。表示されているElementタブのhtmlで、要素を右クリックし、「Copy XPath」でその要素を取得するためのXPathがクリップボードにコピーされます。
Chromeを使っている場合は、右クリックメニューの「検証」から開発者ツールを表示します。表示されているElementタブのhtmlで、要素を右クリックします。メニューの「Copy」→「Copy XPath」でその要素を取得するためのXPathがクリップボードにコピーされます。
XPathの書き方
Octoparseでは自動認識のXPathはブラウザでコピーしたXPathと同じです。しかし、XPathの表示式が多いので、多くのページを処理する時、このようなXPathは無効なる可能性があります。ですから、自分でXPathを書く必要があります。それではXPathの書き方を解説していきます。
まずXPathの書式を示します。
軸::ノードテスト[式]
1.軸
軸は、ツリー上の位置関係を指定するものです。軸の代表的なものとして、以下のような種類があります。
軸 | 意味 | 省略記述 |
child:: | 子ノード | (何も書かない) |
self:: | カレントノード | . |
parent:: | 親ノード | .. |
descendant-or-self:: | すべてのノード | // |
attribute:: | 属性ノード | @ |
ancestor:: | 祖先ノード | |
descendant:: | 子孫ノード | |
following:: | 起点より後に位置するノードすべて(子孫ノードを除く) | |
preceding:: | 起点より前に位置するノードすべて(祖先ノードを除く) | |
following-sibling:: | 起点より後に位置する兄弟ノード | |
preceding-sibling:: | 起点より前に位置する兄弟ノード |
軸を簡略化して記述する場合は、軸とノードの区切り記号である「::」は省略します。
2.ノードテスト
ノードテストは選択するノードの型と名前を指定します。XML 文章内で特定のノードの位置を指定するための式をロケーションパスと呼びます。ロケーションパスは、URLのように『/』で要素を繋げて書きます。ロケーションパスには、現在位置のノードを起点として指定する「相対ロケーションパス」と、ルートノードを起点として指定する「絶対ロケーションパス」の2種類があります。
ロケーションパスには、厳密かつ詳細に記述する書き方と、簡略に記述する書き方(省略シンタックス)の2種類があります。
省略シンタックスの主な構文(ロケーションステップ)を以下の表に示します。
構文 |
意味 |
name |
子要素nameまたは属性name。 |
/ |
ルートノードを選択します。 |
// |
ルートノードの子孫ノードから要素ノード element を全て選択します。 |
. |
カレントノード(現在位置のノード)を選択します。 |
.. |
カレントノードの親を選択します。 |
@ |
属性ノードを選択します。 |
* |
指定したパスの直下の全ての子要素または属性。 |
text() |
指定したパスの直下のテキストを選択します。指定形式:パス/text() |
node() |
指定したパスの直下のノードを選択します(属性ノードは含みません)。指定形式:パス/node() |
3.式
式は軸::ノード で指定した条件をさらに細かく指定するために使用します。
ノードを限定するには node_name[2] のように番号を指定するか、 node_name[@attrib_name="value"] のように条件を指定します。条件指定はand ,orなどで複合できます。特定のノードまたは特定の値を指定する時、常に角括弧を使います。
XPathを試してみる
さて、XPathの書き方を了解した以上、いくつかの例を通して、XPathを書いてみましょう。
以下のXML文書を例として使います。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
例1・すべてのタイトルを選択する
/bookstore/book/title
例2・最初の本のタイトルを選択する
/bookstore/book[1]/title
例3・すべての価格を選択する
/bookstore/book/price
例4・カテゴリは「web」である本のタイトルを選択する
/bookstore/book[@category="web"]/title
まとめ
以上が、Webスクレイピングに便利なXPathのまとめでした!いかかでしょうか?
やや難しい文法説明も含まれていましたが、XPathは比較的覚えやすく理解しやすい言語ですので、ぜひ簡単なXPathを試してみてください!
Webデータを活用!WebサイトからデータをExcelに取り込む方法
Excelは、様々なデータを集計・分析できる表計算ソフトです。書式とスタイル、検索・置換、数式と関数、グラフの作成、データベースなど様々な機能があります。ほとんどの場合、Webサイトから情報を取得して、データをExcelにインポートして、いろいろな分析で、知りたいとこを得る必要があります。この記事では、WebデータをExcelにスクレイピングするいくつかの簡単な方法を紹介します。
Webクエリを使ってWebデータを取得する
Webページからデータをコピペすることを除いて、Webクエリは、標準的なWebページからデータをExcelにすばやく取り込むのに使用されます。ネット上にあるさまざまなデータをExcelの表として取り込み自まに加工することができます。しかもネット上のデータが更新されればExcel上のデータも自動で更新することだってできます。
取り込みの手順は次の通りです:
1. 『データ』タブ → 『外部データの取り込み』 → 『Webから(Webクエリ)』を選択します。
2. アドレスに取り込みたいサイトのURLを入力し、移動をクリックして接続します。
3. そうすると、取り込める表の横に黄色の矢印マークが表示されます。
4. 取り込みたい表の左上にある『→』矢印マークをクリックし、範囲選択します。
5. 右下の『取り込み』ボタンをクリックし、インポートする位置のセルを指定すると、Excelに表が取り込まれます。
株価や為替、天気などの情報は日々変わっていきます。そのようなデータは、最新の情報を取得したいときに、データを自動更新を設定するすればよいです。
『データ』タブ → 『接続』 → 『プロパティ』ボタンをクリックして『接続のプロパティ』ダイアログを開きます。ここでは接続名とかも設定でき、『ファイルを開くときにデータを更新する』にチェックを入れておくと、ファイルを開く際に自動更新できます。また、更新の頻度も1時間ごとなど、自由に変更することができます。
VBA(Visual Basic for Applications)とは、Microsoft Officeに含まれるアプリケーションソフトの拡張機能で、利用者が簡易なプログラムを記述して実行することで複雑な処理の自動化などを行なうことができるものです。一般に「マクロ」と呼ばれ、このようなExcelファイルは**.xlsmとして保存されます。
インストールしたままの状態のExcelではVBAプログラミングのための開発タブが隠されています。ですから、使用する前にリボンに開発タブを表示する必要があります。『ファイル』タブ→オプションでExcelのオプション』ウィンドウを開きまして,『リボンのユーザー設定』→メインタブの『開発』にチェックを入れます。これでOKです。
VBAはVBE(Visual Basic Editor)という専用のアプリケーションを使って編集をしていきます。先ほど追加した開発タブからVisual Basicを選択してく、VBEが立ち上がります。
VBAを使ってWebサイトからデータをExcelに取り込むには、いくつかのリクエストをWebページに送信し、これらのWebページから返されたデータを取得するためのVBAスクリプトを作成または取得する必要があります。 XMLHTTPと正規表現でVBAを使ってWebページを解析するのは一般的です。Windowsでは、WinHTTPまたはInternetExplorerでVBAを使って、WebサイトからExcelにデータをスクレピングできます。VBAの使用は少し複雑なので、詳しい操作は次回にしましょう。オンラインでVBAの使い方には豊富な資料と学習フォーラムがあるので、興味がある方はすぐに使用できるVBAスクリプトを直接検索して使えます。
自動Webスクレイピングツール
VBAコードを設定しようとしていなくWebページからデータをExcelに速く取り込む簡単な方法を探している人にとっては、WebスクレイピングツールまたはAPI経由でデータをスクレイピングのをお勧めします。Webスクレイピングツールのほとんどはコードを書くことなく使いやすいです。スクレイピングツールを使って、すぐにWebサイトからデータをスクレイピングし、Excelにエクスポートすることができます。様々なスクレイピングツールには長所と短所があり、プロジェクトを完成させるためには適当なものを選ぶことができます。
この記事 をチェックして、TOP30の無料Webスクレイピングツールを試してみてください。
一般的に、プログラマを中心にPHP、Python、Perl、Rubyなどのプログラミング言語でWebクローラーを作成し、WebページをスクレイピングしてデータをExcelにインポートする人がいます。この場合、データ取得は楽になりますよね。
データ取得の代行サービスに任せる
複雑なスクレイピング作業に貴重な時間をかかりたくないて、データだけを入手したい場合は、データ取得作業を豊富な経験と専門知識を持っているスクレイピングチーム に任せることが最良の選択です。あるWebサイトに制限や著作権表示があるため、データの取得は非常に難しいので、熟練したスクレイピングチームは、適切な方法でWebサイトからデータを取得し、必要とするデータフォーマットで納品できます。
Webスクレイピングするなら何言語?Python、Ruby、またはJavaScript?
昨日、あるQ&Aサイトで「Webスクレイピング するなら何言語?Python、Ruby、またはJavaScript?」という質問を見ました。
確かに、Python、Ruby、JavaScriptなど、その言語でもスクレイピングはできますが、各方法のメリットデメリットがいまいちわからず選ぶのに困るでしょう。
というわけで、今日はそれぞれ、私なりの見解とおすすめの本を挙げておきます。
この中でも最もスクレイピングに適したプログラミング言語はPythonだと思います。なぜなら、Pythonにはスクレピングに適したライブラリが多数揃っているためです。コードの中にスクレイピングのライブラリを読み込ませコードを書きます。ライブラリを使うことにより全くの1からコードを書く必要がなく、効率的にコーディングできます。また、スクレイピング関連の新し目の情報やライブラリに関してはpythonの方が充実しています。
おすすめの本:「Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド」
非常にお勧め出来る言語です。Pythonと同様スクレイピングするのに使えるライブラリが一通り揃っております。Pythonを比較して、軽量なライブラリのみで実装出来るのがメリットです。また、Nokogiriというライブラリが非常に秀逸で、Pythonの同等のライブラリよりもずっと使いやすいです。
おすすめの本:「Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例」
スクレイピングするのに使えるライブラリがいくつかあります。垂直Webサイトをクローリングすることができます。動的 Web サイトをスクレイピングすることができます。しかし、環境を揃えるのにかなり手間がかかります。Webページにスクレイピング結果を乗せたいなど、特段の事情が無ければ、PythonかRubyにしておいたほうが明らかに無難でしょう。
おすすめの本:「JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック」
その他
プログラミング言語を使えるならスクレイピングは簡単ですが、プログラミング知識がない人はどうでしょう?心配しないで、Webスクレイピング用のソフトを使ったり、Excelの機能を使ったり、Googleのスプレッドシートを使ったり、非プログラマーの方が使える技も多々あります。ここではOctoparseをお勧めます。
Octoparseは、視覚的に分かりやすくWebサイトからデータを自動で取得できる無料Webスクレイピングツール/Webクローラーです。コードを書くことなく、スクレイピングの初心者でも、Webサイトから大量の情報を手軽に抽出できます。取得ができるデータは、HTML、テキスト、PNGやGIFをはじめとした画像など幅広く対応できます。ビジネスシーンにあわせて、CSV、EXCEL、HTML、JSON、データベース(MySQL、SQL Server、Oracle)などさまざまな出力形式があります。WindowsアプリケーションであるOctoparseは、Ajaxを使うWebページを含む静的および動的Webサイトに対応し、フォームを記入したり、テキストボックスに検索語を入力したりするなどで、人間の操作をシミュレートしてWebページとやり取りできます。
まとめ
Webスクレイピングにより、効率良く情報を集め、加工する技術を身に付けることが出来ます。この技術は、ニュースポータル、人工知能、フォーラム、Eコマースサイト、ソーシャルメディア、不動産、財務報告などさまざまな分野で広く使われています。職業プログラマのみならず、非プログラマーにとっても重宝すると思います。ぜひご活用ください。
リンクされている画像を一括ダウンロードするのに超便利なツール5選
皆さんは、大量の画像を一気にダウンロードしたい!って時はありませんか?好きなキャラとかアイドルの写真をまとめて保存したい!でも、一枚一枚やるのはかなり面倒臭い・・ !って状況がありますよね。私も画像の一括ダウンロードに関する多くのお問い合わせを受けました。
私たちはできる限り機能の改善に努力していますが、今のところOctoparseはWEB上に保存されているURLとして画像を抽出することができます。そこで今回は、リンクされている画像を一括ダウンロードツールを5選ご紹介します。リンクから画像をダウンロードする場合は、必ずこの記事をご覧ください。(画像のURLを抽出する方法がわからない場合は、このチュートリアルをご覧ください。)
1. Tab Save
無料:✓はい
平均評価:★★★★
製品レビュー:これは私が使っている画像ダウンローダです。簡単なクリックだけでウィンドウに表示されているファイルを保存することができます。したがって、画像のURLを抽出したら、URLを入力して、すぐに画像をダウンロードできます。
2. Bulk Download Images(ZIG)
無料:✓はい
平均評価:★★★½
製品のレビュー:オプションルールがあるサムネイルではなく、ビッグサイズの画像を大量にダウンロードする場合に使用できます。しかし、一部のユーザーはそれがあまりにも複雑で使いにくいと感じています。
3. Image Downloader
無料:✓はい
平均評価:★★★½
製品レビュー:Webページから画像を一括ダウンロードする必要がある場合は、この拡張機能を使って、ページに含まれる画像をダウンロードできます。多くのユーザーは、それが強力で使いやすいと感じています。しかし、それは指定されたフォルダにダウンロードできないようです。使ってみます。
4. Image Downloader Plus
無料:✓はい
平均評価:★★★
それを使ってWEBから画像をダウンロードとスクレイピングすることができます。選択した画像を特定のフォルダにダウンロードしてGoogleドライブにアップロードすることができます。しかし、一部のユーザーは、このツールがファイル名を変更したり、画像のサイズを使用不能なレベルに変更したりすることあるのを見つけました。
5. Bulk Image Downloader
無料:✓はい
平均評価:★★★
製品のレビュー:1または複数のWebページから画像を一括ダウンロードすることができます。それは、複数のタブから画像の一括ダウンロードをサポートしています。
画像数が多ければ拡張機能を使ったほうが効率的ですね。ぜひ試してみてはいかがでしょうか。また画像を保存するときはライセンス・著作権などには十分注意しましょう。
それでは、今日はこの辺りで。
働き方改革 | 2018年注目の業務自動化ツール30選
今の世界では、「オートメーション」の時代に入っています。ますますのシステム運用業務が手動からツールによる自動化に移りつつあります。あなたの周りにも「実は自動化できるのでは?」と思う業務があるのではないでしょうか。
そこで今回は、オートメーションソフトウェアテスト、Webスクレイピング、ロボティックスプロセスオートメーション(RPA)の分野で最も評価の高いプロセス自動化ツールを30選ご紹介します。
- ソフトウェアテスト自動化ツール
- Webスクレイピングツール
- RPAツール
ソフトウェアテスト自動化ツール
1. Selenium
ライセンス:オープンソース
Seleniumは、Windows、Mac、LinuxなどのさまざまなWebアプリケーションやプラットフォームのファンクションテストを行うツールとして注目されています。Web自動化テスター、特に高度なプログラミングとスクリプティングスキルを備えたテスターの自動化フレームワークとして、Java、PHP、C#、Python、Ruby、JavaScript(Node.js)などの複数言語に対応できます。Selenimuは、柔軟性が高く、多くの機能が提供されているので,業界としてもSeleniumを無視できないほど重要なものになってきています。
2. Watir
ライセンス:オープンソース
WatirはRuby上で動作するWebアプリケーション向けのテスト自動化ツールです。「Web Application Testing in Ruby」の頭字語で「ウォーター(water)」と発音します。WatirはFirefox、Opera、IEなどのクロスブラウザテストをサポートしています。それは、HTMLとAJAXのWebサイトのテスト、ページとコントロールモデルをサポートしています。 それに、Watirはデータ駆動型テストをサポートし、RSpec、Cucumber、Test / UnitなどのBBDツールと統合しています。
3. Protractor
ライセンス:オープンソース
Protractorは、特にAngularJS Webアプリケーションをテストするために開発された自動化フレームワーク(E2Eテストフレームワークとも呼ばれます)です。これはJasmine、Mocha、およびCucumberのテストフレームワークをサポートするNode.jsプログラムです。Selenium WebDriverを使って、ブラウザを駆動し、ユーザーのブラウザで実行されているAngularJSアプリケーションとのやり取りをシミュレートします。Webページが保留中のタスクを終了したときに、Protractorの自動待ちは、テストの次のステップを自動的に実行することができます。
ライセンス:オープンソース
Robot Frameworkは受け入れテスト、受け入れテスト駆動開発のための、キーワード駆動の自動テストフレームワークです。Robot Frameworkは特定の OS やアプリケーションに依存しません。コアのフレームワークは Python で書かれていて、Jython (Java VM) や、 IronPython (.NET) でも動作します。テスト機能は Python や Java でテストライブラリを書いて拡張できます。 ユーザは既存のキーワードを使って新しい高水準キーワードを定義でき、それを使ってテストケースを書けます。
ライセンス:無料
Katalon Studioは、Webアプリケーション、モバイル、およびWebサービス用の強力な統合テスト自動化ソリューションです。Chrome、Firefox、IE、Android、iOSなどのさまざまなブラウザや端末をサポートできます。Seleniumとは異なり、Katalon Studioは扱いやすく,プログラマーでなくても、自動テストプロジェクトを簡単に開始できます。 Katalon Studioは、CI / CDに統合することもでき、qTest、Jira、Git、Jenkinsなどの一般的なツールとうまく連携できます。自動化テストを効率的に作成・実行し、レポートを出力し、テスト全体を管理することもできます。
6. Unified Functional Testing(UFT)
ライセンス:商業
Unified Functional Testing(UFT)は、機能テストおよび回帰テストのためのテストツールです。UFTは、主要モバイルプラットフォーム(iOS、Android、およびWindows)上、主要ブラウザー(Chrome、Firefox、Internet Explorer、およびSafari)全体、GUIテストのための包括的な機能セットを提供します。高度な画像ベースのオブジェクト認識、エラー処理メカニズム、自動化されたドキュメント、再利用可能なテストコンポーネントを備えています。GUIアプリケーションからのデータ登録をUFTを使って行うことができます。
7. TestComplete
ライセンス:商業
TestComplete は、GUI アプリケーションの機能テストを自動化します。TestComplete では、JavaScript、Python、VBScript、DelphiScript、JScript など複数の言語をサポートしています。また、キーワードテストでは、スクリプトを使用せずに、GUI でテストシナリオを作成することが可能なため、コードを 1行も記述することなく、簡単にテストを作成することができます。TestComplete は Windows 上で動作するアプリケーションをサポートし、Windows クライアントアプリケーション以外にも、Java、.NET、Flash、Flex、モバイル(Android, iOS) など、幅広いアプリケーションのテストが可能です。
ライセンス:商業
Tricentis Toscaは、企業の開発チーム向けにソフトウェアテスティングの自動化ツールであり、ダッシュボード、分析、統合など幅広い機能セットを提供して、アジャイルと開発者の方法論をサポートします。他の多くの自動テストソフトウェアと同様に、Web、モバイル、APIなどの幅広いテクノロジーとアプリケーションをサポートしています。 Tricentis Toscaはまた、Jenkins、Jira、GitHub、Docker、Puppet、Visual Studioなどの一般的なツールとの即時統合を提供します。Toscaはスクリプトや複雑なコードへの依存を取り除きます。そして、スクラムチームとビジネスユーザが、再利用可能なアプリケーションモデルをドラッグ&ドロップして、普通の英語で完全なテストケースを作成し、管理できるようにします。
9. Ranorex
ライセンス:商業
Ranorexは、多くのサードパーティ製コントロールをサポートする、高性能なUIキャプチャ機能を搭載したUIテスト自動化ツールです。Windowsアプリ、Webアプリ、モバイルアプリに対応しており、ユーザーの操作をキャプチャし、再生することにより、テストの自動化をサポートします。操作性が高く、強力なUIオブジェクト認識能力を備えているため、プログラミング経験者でなくとも、データ駆動型テストやキーワード駆動型テストといった複雑なテストを組み立てることができます。それに、このツールは、Webアプリケーションのテスト用のSelenium統合をサポートしています。テスターは、Seleniumグリッドを使用して、プラットフォームやブラウザー間でテストの実行を分散することができます。
ライセンス:商業
Telerik TestStudioは、デスクトップ、Web、およびモバイルアプリケーションのテストを自動化するソリューションを提供します。UI、負荷、およびパフォーマンステストを含みます。JavaScript、Silverlight、WPF、MVC、AJAX、HTML、ASP.NETなど、さまざまなプログラミング言語をサポートしています。 Telerik TestStudioは、クロスブラウザテスト、手動テスト、バグ追跡ツール、レコード/再生のための高度な機能を備えています。
Webスクレイピングツール
11. Scrapy
ライセンス:オープンソース
Scrapyは、Python で書かれているWebクローリングとスクレイピングのフレームワークです。もともとはWebスクレイピング用に設計されており、APIを使用してデータを抽出したり、汎用のWebクローラーとして使用することもできます。Scrapyは、開発者がWebサイト動作に関する仮定のテストに使用できるWebクローリングシェルも提供します。
12. WebScraper(Chrome)
ライセンス:無料
Web Scraperは、オンラインテーブルからデータを抽出できる、使いやすいスクリーンスクレイピングツールです。Web Scraperは動的なWebページからデータを抽出できます。サイトマップを使って、サイトをナビゲートし、複数のタイプのデータ(テキスト、テーブル、画像、リンクなど)を抽出します。また、ページをスクロールしたり、AJAX経由でデータをロードしたページングボタンをクリックしたり、ボタンをクリックしてより多くのデータをロードしたりするなど、JavaScriptで動的にロードまたは生成されたデータを抽出することもできます。また、データをCSV形式で簡単にエクスポートしたり、CouchDBに保存したりすることができます。
13. Octoparse
ライセンス:無料
Octoparseは、コードを書くことなく、AJAX、JavaScript、Cookie、Captchaなどの静的および動的Webサイトからデータを手軽に抽出することができる無料Webスクレイピングツールです。また、内蔵Regexツールを使って、多くの複雑なWebサイトからデータを抽出でき、XPathツールを使ってWeb要素を正しく見つけることができます。 Web Scraperと同じ、データをCSV、Excel形式で簡単にエクスポートしたり、データベース(SqlServer、MySql、Oracle)に保存することもできます。さらに、クラウドサービスにより、多くのクラウドサーバによって短時間に大量のデータを抽出することができ、Octoparse APIを使用してデータを取得することができます。IPが自動的に巡回できるので、アクセス拒否を効果的に避けられます。
ライセンス:商業
Visual Web Ripperは、さまざまな機能をサポートする自動スクレイピングツールです。これは、プログラミングスキルを持つユーザーを必要とするスクリプトを実行するなど、先進的な技術を備えた難しいWebサイトではうまく機能します。また、ユーザーフレンドリーなインターフェイスを提供し、基本的な操作方法を迅速に把握できるようにします。さまざまなデータ形式、AJAX Webページを抽出し、CSV、SqlServer、Oracleなどのさまざまな形式にエクスポートできます。
15. Outwit Hub
ライセンス:無料
OutWit Hubは、Webデータ抽出機能を備えたFirefox向けのアドオンで、Web検索を簡単にさせます。このWebクローラーは、表示中のWebページの詳細をパーツ毎に一覧で表示、必要なパーツをローカルに簡単にダウンロードできます。ニーズに応じて、大量のデータをスクレイピングできる単一のインターフェイスを提供します。OutWit Hubを使うと、ブラウザ自体から任意のWebページをスクレイピングしたり、自動エージェントを作成してデータを抽出したり、設定によってフォーマットすることさえできます。これは、最も簡単なWebスクレイピングツールの1つで、無料だし、コードを書くことなくWebデータを抽出できます。
RPAツール
16. UiPath
ライセンス:無料
UiPath は業務自動化をサポートするロボティックプロセスオートメーション(RPA)ソフトウェアです。 ほとんどのアプリケーションからWebデータとデスクトップデータの抽出を自動化します。Windowsシステムを実行している場合は、ロボティックプロセスオートメーション(RPA)ソフトウェアをインストールできます。Uipathは、複数のWebページにわたって表形式のデータとパターンベースのデータを抽出できます。Uipathは、さらにクローリングするための組み込みツールを提供しています。このメソッドは、複雑なUIを処理する場合に非常に効果的です。個々のテキストエレメント、テキストグループ、テキストブロック(テーブル形式のデータ抽出など)の両方を処理できます。さらに、コードを書くことなく、インテリジェントなWebエージェントを作成できますが、.NETハッカーがデータを完全に制御できます。
17. Syntel
ライセンス:商業
Syntelは最新のAgileとDevOpsの手法を採用し、お客様のアプリケーション開発プロセスをスピードアップします。ファクトリベースの開発モデルの実現、さまざまなクラウドプラットフォームを活用してアプリケーションを開発およびテストに役に立ちます。Syntelは敏捷性の製品エンジニアリングセンターを提供し、自動化されたDevOpsを搭載します。そうすると、納品を加速できるし、Pivotal Cloud Foundry、Salesforce、Dockerのような業界をリードするクラウドソリューションを導入できます。すべてのプラットフォーム用の自動化モデルを開発し、高品質のエンジニアリングを統合します。
18. Blue Prism
ライセンス:商業
Blue Prismは、Microsoft .NET Framework上に構築されており、あらゆるアプリケーションを自動化し、多様なプラットフォーム(メインフレーム、Windows、WPF、Java、Webなど)でのさまざまな形態(ターミナル エミュレータ、シッククライアント、シンクライアント、webブラウザ、Citrix、webサービス)をサポートします。 Blue Prismは、全社のあらゆるアプリケーションの自動化に使用できる単一の性能を提供します。Blue Prismは、物理的および論理的アクセス制御の両方を使用して、マルチ環境導入モデル(開発、テスト、ステージングおよび本番)向けに開発されているため、一元的なリリース管理インターフェースとプロセス変更配布モデルを搭載し、高いレベルの可視性と統制を実現しています。また、プロセス開発と再利用の一元管理モデルによって、さらなる制御が行えます。
19. Softomotive
ライセンス:商業
Softomotiveは、RPA製品とサービスの人気の提供会社の1つです。企業が運用コストを大幅に削減し、効率を高め、生産性を向上させ、パフォーマンスを向上させるProcessRobotソリューションを提供します。構造化されたワークフローを整理し、データ品質を向上させ、人的ミスを排除し、優先順位の高い付加価値の高い計画に注力することができます。24時間365日、夜間、週末にかけて動作し、顧客の期待を超えて要求を即時に処理することができます。
20. WorkFusion
ライセンス:商業
WorkFusionは、金融サービス、eコマース、小売業など、幅広い知識労働を自動化するSaaS群集コンピューティングプラットフォームです。WorkFusionは、クラウドソーシングで獲得した労働者にアルゴリズムを教育訓練して、それらのワークフローの自動化を行っています。AI、RPA、人間を単一の直感的なプラットフォームで一体化させることによって、ビジネスプロセスを自動化します。プラットフォーム上でデジタル・ワークフォース全体をオーケストレーションすることによって、顧客はコスト、生産量、生産性を予測し、アクションを指示する高度な業務分析を使用することができます。
ライセンス:商業
Automation Anywhere Enterprise は、ソフトウェアボットと共に構成されWindows 環境で稼働し、主な設定は、タスクエディタにより、 自動化したい作業ステップを記録し、スクリプトを作成します。Web サイトのデータ抽出やスケジュールされたファイル転送などの一般的なタスクを自動化する数十種類の事前構築タスクテンプレートが含まれています。 光学式文字認識(OCR)やJava との統合などの高度な機能を備えたオプションの統合パックを購入することで、幅広い外部アプリケーションと統合することができます。高いセキュリティ基準にも対応可能です。また、中央管理型のシステムを提供しており、ロボットの一元管理を可能にします。
22. NICE
ライセンス:商業
NICEは、高度に構造化された、日常的な、規則的なスケジュールやイベント駆動の手動のデスクトップタスクを自動化します。管理サーバーによる集中的な運用管理の方式で、ロックされた画面の背後で実行する機能やロボットの接続監視機能などがあります。人間による手作業な事務処理などでは、Excelやメールといった基本的なツールを組み合わせて使うことが常態化していることが多く手間や負担が大きく、また時間もかかってしまうことがあります。これをNICEが代行することで高速に処理できるようになります。
23. WinActor
ライセンス:商業
WinActorは、NTTのグループ企業であるNTTアドバンステクノロジが開発したRPAツールです。Microsoft Office(Excel、Access、Word、Outlookなど)、ERP、OCR(画面イメージのみ)、個別に作り込んだシステム、共同利用システムなど、Windowsソフトの作業手順を自動化します。基本的にデスクトップレベルのRPAツールですが、NTTデータ提供「管理ロボ」をインストールすればサーバー中央管理が可能になります。
24. Pega
ライセンス:商業
Pegasystems は、自社のBPM やCRM を補完する目的でRPA のOPENSPAN 社を買収し、ロボット、分析、ケース管理を統合して提供します。「Pega Robotic Automation」には業界トップクラスとなるBPMプラットフォームの主要機能を搭載しています。業務の自動化と業務プロセス管理のデジタル化を、同時に実現することが可能になっています。
25. BizRobo!
ライセンス:商業
BizRobo!は、ホワイトカラーの生産性を革新する、ソフトウェアロボット(Digital Labor)の導入・運用を支援するデジタルレイバープラットフォームです。ウェブサーバーを1台用意するだけで、複数のロボットを作成でき、それらを同時に運用することができます。そのため、大規模なウェブアプリケーションに適しています。また、ロボットに覚えさせる業務フローの作成が容易にできるので、担当者がロボットを簡単に作ることができます。日本語によるトレーニングコンテンツも用意し、充実しています。
26. Redwood Software
ライセンス:商業
Redwood Softwareは、デジタルプロセスの変換を加速し、業務中の手動作業のコストを削減します。ERP プロフェッショナルサービスの経験があり、Redwood robots は、Oracle やSAP のERP システムと連携して、物流や電子取引、財務などあらゆる分野での作業の効率化を実現します。お客様は、ソフトウェア、クラウド、アプライアンスなどの複数の導入オプションから選択できます。Redwoodの自動プロセスパッケージ(APP)は事前設定されて、エンドツーエンドのプロセスをシンプルすることができます。
27. ROBOWARE
ライセンス:商業
ROBOWAREは、ソフトウェアロボットを開発し、IP接続されたソフトウェアロボットを制御するためのフレームワークです。開発できる言語は、Ruby、Java、PHP、C# で、高度なプログラミング知識なしでも、ソフトウェアロボットが作成でき、あらゆる規模のあらゆる業種の事務作業や、運用業務の自動化が可能になります。Windows とLinux で稼働します。ROBOWAREを活用すれば、実行されているアプリケーションのウィンドウ画面に何が表示されているか認識できることで、確実に目的のアプリケーションウィンドウにキー入力やマウスを操作することができます。キーボードやマウスの入力がなくても、直接PC内で動作しているアプリケーションのメモリを読み込むことで画面表示などのコンピュータリソースを確認しながら目的の情報を制御可能です。
28. Verint
ライセンス:商業
Verint Systemsは、操作対象の認識方式として特許技術である画面イメージおよびOCRによる文字認識を組み合わせた独自技術を採用し、対象アプリケーションの制限を最大限に減少させていまする。また、操作方法を監視・自動記録する機能や、定型のコマンドを選択リストから選ぶことで動作を補完する処理を追加して作成する仕組みを持っているようです。さらに、業務プロセス分析ソリューションによりデスクトップ作業を常時監視し、手順のトラッキングと可視化により、業務プロセスの定義やモニタリングを自動的に行うことも可能とのことです。
29. Autoブラウザ名人
ライセンス:商業
Autoブラウザ名人は、ブラウザ上で行う定型的なルーチンワークをを自動化することで、業務の自動化・デジタル化を推進するRPAツールです。インターネットエクスプローラーの起動、取引先のWebサイトへのアクセス、ログオン、メニューやボタンのクリック、ログオフなどを自動化できます。インターネットを介した取引先とのデータ交換が飛躍的に効率化します。また、Excelや、さまざまなWindowsアプリケーションを利用した業務の自動化も可能ですので、業務の生産性が飛躍的に向上します。
30. SynchRoid
ライセンス:商業
SynchRoidの特徴は「ITスキルが低い人材でも開発できるシンプルなRPA」です。従来、RPAとは開発画面が難しく専門的なスキルが要求されることの多い製品でした。そこでSynchRoidでは、開発画面をGUI(グラフィカル・ユーザー・インターフェース)で提供し、情報システム従事者でなくとも開発者として自動化ロボットを作り出せます。実行環境は、デスクトップおよびサーバーどちらも選択可能です。なお、SynchRoidはBizRobo!をベースに行っており、ソフトバンクはRPAテクノロジーズに出資も行っています。
認識している自動化ツールを、メーカーの公開情報を中心に私見も交えながら書いたが、少しは皆さんのご参考になりましたでしょうか?
これらの自動化ツールには、今後でますます増えるソフトウェア自動化の課題に対応できる独自の機能があります。働き方改革には、業務自動化ツール導入に注目が集まっています。業務プロセスを自動化ツールで最適化することで、従業員はより重要な業務に集中することができます。面倒な手作業は自動化ツールにやらせましょう!
2018年に注目すべき世界8大技術トレンド
世界的な大手情報サービス企業であるIHS Markitは2018年1月、「8 in 2018: the top transformative technologies to watch this year」というホワイト・ブックを発表しました。この中で2018年に産業界の改革/革新に大きな影響を与える可能性が高いテクノロジーとして、8個のトレンドを予測しました。
この記事では、この8個のテクノロジーを紹介したいと思います。
1. 人工知能(AI)
人工知能は、記憶や学習、推論、判断など高度な作業に必要不可欠となる人間の知能をコンピューター上で人工的に構築し、これまで人間が脳内で行ってきた作業を再現する仕組みや研究のことです。AIの手法としては、以下のようなものがある。特定のアプリケーションには、エキスパートシステム、音声認識とマシンビジョンがあります。(定義ソース:http://searchcio.techtarget.com)
現在、AI技術は、スマートフォンやヘルスケア機器、車載システムなどの産業で活用が進んでいます。AIには、オンデバイス型とクラウド型の2つの方法があり、どっちでも長所と短所があります。クラウド型AIは、深い学習アルゴリズムを使用しているため、データ分析の能力は優れていますが、プライバシーや反応時間、安定性に潜在的な問題があります。これに対して、スマートフォンなどに実装されたオンデバイス型AIは、これらのリスクを軽減することが可能です。たとえば、内蔵AIを配備したスマートフォンは、データをローカルに保存して、ユーザーのプライバシーを保護することができます。
2. モノのインターネット(IoT)
モノのインターネット(IoT)は、従来インターネットに接続されていなかった様々なモノ(センサー機器、駆動装置(アクチュエーター)、建物、車、電子機器など)が、ネットワークを通じてサーバーやクラウドサービスに接続され、相互に情報交換をする仕組みです。
IHS Markitは、世界中でIoT対応機器の普及台数が2017年の270億台から2025年に730億台に達すると予測します。こうした中で、エッジコンピューティングとクラウド分析による接続性の強化は、2018年のIoTの成長を加速します。その一例として、LPWA(Low Power Wide Area)ネットワーク技術を挙げました。
さらに、IoTに関連する技術はより成熟になっています。マシンビデオやユビキタスビデオは、ビジュアル分析に連続したデータサポートを提供します。人工知能、クラウド、仮想化は、コンピューティングネットワークのいわゆる「エッジ」側で収集されるデータから得られる重要な洞察を発展させるのに役立ちます。データ分析にAI技術を適用すれば、コスト削減、効率の向上、製品中心であったこれまでのビジネスモデルをサービス中心型に移行させることができ、収益力の向上を推進します。
3. クラウド & 仮想化
クラウドコンピューティングは、インターネットなどのコンピュータネットワークを経由して、コンピュータ資源をサービスの形で提供する利用形態であり、最小の経営努力で迅速にプロビジョニングできます。略してクラウドと呼ばれることも多いです。
一般的にAIやマシンラーニングの技術を使いこなすためには、専門的な技術知識が必要となります。これに対して、クラウドサービスを活用すれば、十分な技術知識がない技術者でも、AIを利用したシステムの開発やサービスを行うことが容易となります。
4. コネクティビティ
コネクティビティとは、パソコンと周辺機器との接続、ネットワークへの接続など、複数のものを連結する能力を指します。
「5G(第5世代移動通信)商用サービス」の開始同時に、2018年にはコネクティビティがきっと焦点になります。しかし、5Gを完全に導入するまでの道は複雑で、したがってモバイルネットワーク企業やインフラプロバイダー、関連機器メーカーなどにとっては事業機会がさらに拡大します。利用形態も従来の音声通信やデータ通信の用途に加えて、さまざまなIoTアプリケーションや基幹アプリケーションが新たに登場する可能性が高いです。
5. ユビキタスビデオ
ユビキタスビデオとは、ほとんどの場所でビデオコンテンツをキャプチャ、作成、消費、配信する機能を指します。ビデオサービスの爆発的な成長は、カメラ対応の携帯電話の普及率の高さや商品化を含む複数の要因によって推進されています。これにより、広範囲の有線および無線接続オプションを備えたほぼすべての場所にさまざまなサイズと形状のディスプレイを配置することができました。
今、スクリーンとカメラは、民生機器やエンタープライズ機器に広く適用されています。ネットワーク、スマートフォンなどの成長とともに、ビデオの消費、創造、流通、データトラフィックは爆発的に増加しています。さらに、高画質イメージセンサーを搭載したカメラモジュールは、車載システムや産業機器、医療機器などへとその応用が広がっています。
6. コンピュータビジョン
コンピュータビジョンは、コンピューターに取り入れた生の画像情報を処理、理解して、必要な画像情報を取り出す技術です。エンジニアリングの観点からは、人間の視覚システムが行うことができるタスクを自動化することを目指しています。
コンピュータビジョンは、過去20年間に産業機器や民生電子機器など多くの用途で重要な技術の1つとなっています。イメージセンサの普及と画像処理と解析の改善により、産業用ロボットやドローン、インテリジェント交通システム、高品質監視システム、医療機器、車載システムなどの用途で幅広く活用されています。
7. ロボット & ドローン
ロボットとドローンは、複雑で、反復的な動作を完了できる自律型または半自律型のマシンです。ロボットとドローンの2018年における世界市場規模は、39億米ドル規模に達すると予測しています。部材の搬送やピッキング、組み立て、さらには物流、配送など、これまで人間が行ってきた作業領域を、ロボットやドローンに置き換えることが可能になってきました。
8. ブロックチェーン
ハーバード・ビジネス・レビューでは、「ブロックチェーンは、2者間の取引を永続的に記録できるオープンな分散型台帳技術」として記載されています。ブロックチェーンは、暗号とタイムスタンプを利用して、さまざまな取引と相互作用の永続的な記録を提供しています。
ブロックチェーンは、分散型コンピュータネットワーク技術を可能にし、である「ビットコイン」や「イーサ」などの仮想通貨の基礎となります。支払い関連のソリューションにおけるブロックチェーンの採用として、ブロックチェーンは、金融サービス業界に浸透していることは明らかです。ブロックチェーンは2018年も引き続き、広告効果の向上や広告詐欺対策、音楽ロイヤルティー支払い分配などのシステムに活用されます。
まとめ
今日のテクノロジーの世界では、イノベーションが急速に進んでいます。このように変化が速い時代において、新たな知識や技術を貪欲に取り入れて時代の変化にうまく適応することが、勝ち残る秘訣なのでしょう。