Octoparse Japanは1周年を迎えました!

2018年から、新たな成長戦略の一環として、Octoparseは日本市場に進出し始めました。今年の7月、Octoparseは日本語サービスをリリースしてから一年になりました。ご利用いただいた皆さんには大変感謝しております。感謝の気持ちを込めまして、2019年7月18日(木)~7月26日(金)の期間で1周年記念セールを開催いたします。(セールの詳細はこちら

 

Octoparseについて

世界中のユーザーから愛用されているOctoparseは、初心者から高級者向けのWebスクレイピングツールです。直感的に操作できる操作画面、コーディングせず簡単なポイントアンドクリック操作をして、Webサイトからすべてのテキストを収集ことが可能です。取得したデータはExcel、HTML、CSV、またはご指定のデータベースのような構造化フォーマットに保存されます。Octoparseを通して、コードを書くことなく、Web上から情報を手軽にスクレイピングすることができ、しかも大幅な時間短縮ができるようになりました。

 

過去1年間にやったこと

あっという間に1年が過ぎ去ったように見えて、振り返ってみると色んな事があったことに気付きます。

1.独立の日本語サイトとサポートサービス

去年6月日本進出してから、日本語サイトではほとんどの内容ページが日本語化されましたが、ログイン、新規登録、お問い合わせ関わる機能ページは英語版のみがあります。ユーザー体験を改善するために、今年の一月では、それらの機能ページを全部日本語化にしました。また、今回の改善に伴い、日本語のお問い合わせやトレーニングも可能にし、これまで英語サイトで受付の方にも日本語でサポートを提供しています。それに、スマホで見やすい・使いやすいように、Web サイトのスマホ対応もしています。


2.日本語バージョンのソフトウェア

Octoparseのクライアントが英語のUIなので、お使いの不便などによりお客様から日本語バージョンが欲しいというお声を受けることもしばしばありました。という訳で、二ヶ月間の努力で、今年の2月27日に要望の多かった日本語バージョン7.2.0をリリースいたしました。しかし、このバージョンはベタ版なので、重くて使いにくくて、機能改善が数多く実装されたあと、「Octoparse 7.2.6」をリリースいたしました。使い勝手が格段に向上しています。

3.日本語のチュートリアル

チュートリアル、活用例、FAQ、スクレイピングの紹介ブログなど、たくさん用意しています。各チュートリアルはGIF画像を使って、操作の手順がよく説明されていますが、文字とGIFの形で分かりづらいところがたくさんあると思います。それらのチュートリアルのに従って、データのスクレイピングするタスクを作るのがうまくいかない方もたくさんいます。ですから、Octoparseの機能や魅力なども伝わりやすくように、ソフトの日本語化をきっかけに、複雑な操作方法や言葉では伝えられない動きなどを動画形式で紹介したいと思います。今年の5月、初めての方向けにOctoparse入門レッスン動画をご用意しています。このシリーズは8つのレッスンに分けて、OctoparseをダウンロードすることからWebデータを抽出するまでの基本操作についてご説明いたします。必要なものを揃えてフローに沿って作業していけば、誰でも簡単にWebデータをスクレイピングすることが可能です。これからもいろいろな動画を作って、チュートリアルの内容を豊富しようとします。

4.業界初のWebスクレイピングテンプレート

もしパワーポイントテンプレートのようにWebスクレイピングにもテンプレートがあれば、対象となるWebサイトのテンプレートを選択して、収集したいデータを選択してスクレイピングを開始できますよね。Octoparseは業界初の革新的なWebスクレイピングテンプレートという機能をリリースしました。Webスクレイピングテンプレートを使うと、プログラミング知識の少ない/ない人でも簡単にWebスクレイピングを達成できます。具体的には、Octoparseのソフトには数十種類のあらかじめ作成されたテンプレートがあり、パラメータ(ターゲットWebサイトのURL、検索キーワードなど)を入力するだけで、データが抽出されてきます。この時点でテンプレートはAmazonInstagramTwitterYouTube楽天市場Googleマップなど多くの人気サイトがカバーされています。

5.法人プラン

法人ユーザーの大規模なデータ抽出プロジェクトを満足する、Webスクレイピングを簡単にご使用いただくことを目的として、今年の三月Octoparse法人様向けプランをリリースしました。法人様向けプランは複数ユーザーのアクセス、Webベースのデータ管理と検索、拡張性のあるクラウドリソースを特徴として、あらゆる規模のデータスクレイピングを達成できます。

 

日本語クライアント開発や新機能リリースなどの形で運営改善を少しずつ実践してきたら、いつの間にか今年の7月が間近に迫っていたというのが実情です。色々とご不便な操作をさせてしまいつつも、これらの努力により、Octoparseの日本語サイトは月間ユニークビジター数が10万人を超えるまでに成長しました。たくさんのお客様にOctoparseを選んでもらえた事、とても感謝しております。

ユーザー数の増加により、ユーザーから多くの高評価を得ました。皆さんからのご意見がOctoparseをより良いサービスに成長させる大きな原動力となりますので、ぜひお聞かせください。


この一年間、成長を実感しましたが、Octoparseにはきっと多くの不足が存在しています。これからもユーザーとの交流を踏まえて、今までよりも積極的なサービスを提供して、大きく成長できるように日々努力していきますので、今後ともどうぞ宜しくお願い致します。

ビッグデータ分析用オンライン講座10選

f:id:octoparse:20190716110827p:plain

 

データサイエンスは、データ駆動型社会市場の台頭としてはもはや流行語ではありません。PWC(Price Waterhouse Coopers)によると、2015年から2018年までの間に「分析スキル」で5000万人を超える雇用が創出されています。IBMのレポートでは、2020年までにデータ関連の求人が270万人に達すると報告しています。機械学習やAIのようなデータ関連の専門的スキルは、分析職にとって欠かせないものです。

この記事では初心者、特にデータ分析の仕事をしたい人のためビッグデータ分析用オンライン講座10選を紹介します。

 

Coursera

1. Data Analysis and Presentation Skills: the PwC Approach Specialization

提供者:Price Waterhouse Coopers LLP

推奨学習時間:21週間、週3〜4時間

このコースは、データ駆動型の意思決定、Excelの基本機能利用による問題解決、Excel高級オプション利用によるデータの視覚化、PowerPointを使ったビジネス・プレゼンテーション、そしてデータ分析とプレゼン技術といった5つの内容を紹介します。 一般的な従業員向け、さらにプログラミングの経験がない人にも適する専門的なデータ分析スキルコースは、理論的な知識よりもビジネスアプリケーションに焦点を当てています。

 

2. Data Science Specialization 

提供者:John Hopkins University

推奨学習時間:43週間、週4〜9時間

10コースを利用して、適切な質問をすることからデータをまとめて見える化することで結果を公表することまで、データサイエンスパイプライン全体で必要となる概念とツールを紹介します。

Courseraで最も長いデータサイエンス専門分野の1つで。前で紹介したPWCの口座とは異なり、統計学アルゴリズムおよびデータ分析に関する理論により焦点を当てています。しかし、このコースはR言語に基づいて行われたので、コースを受講する前にプログラミングの基本的な知識を固めたほうがおすすめです。

 

3. Big Data Specialization

提供者:University of California, San Diego

推奨学習時間:30週間、週3〜6時間

基本的な紹介、モデリング、管理システム、統合、処理から機械学習やグラフ分析まで6つのコースからビッグデータの主な側面をカバーしています。初心者ためのビッグデータ入門書でプログラミングについて深く掘り下げていないので、事前のプログラミング経験は必要ありません。

 

4. Statistics with R

提供者: Duke University

推奨学習時間:27週間、週5〜7時間

Rでデータを分析および視覚化する方法を学ぶ5つのコースで紹介します。再現可能なデータ分析レポートを作成し、統計的推論の統一された性質を概念的に理解できます。R言語に関する知識が必要です。 

 

EDX

5. Microsoft Professional Program in Data Science

提供者:Microsoft

推奨学習時間:56-58週間、週2〜4時間

3つのユニット(合計10コース)と1つのプロジェクトで構成されています。データサイエンスの基本的な紹介、重要なプログラミング言語、および応用データサイエンスにおける高度なプログラミング言語について説明します。Microsoftソフトウェアとの関連性が高く、例えばExcel、Power BI、Azure、Rサーバーなど、もちろんR言語Pythonも含みます。

 

6. Marketing Analytics

提供者:University of California, Berkeley

推奨学習時間:16週間、週5〜7時間

このコースは、マーケティング測定戦略、価格と販売促進分析、競合分析と市場細分化、製品流通と販売を含む4つのコースに分かれています。Oracle3ComNASAなどの企業でマーケティングおよび製品開発において主導的な役割を果たしてきた業界専門家のステファン・ソルジャー(Stephan Sorger)によって設計および指導されています。

 

Cognitive Class

7.Big Data Fundamentals

提供者:IBM

推奨学習時間:2週間、週5〜7時間

3つのコースから構成されて、ビッグデータHadoop、およびSparkについて簡単に紹介します。Cognitive classはIBMが主導するビックデータに関するオンライン上の学習コミュニティです。

 

MIT Open Courseware

8. Advanced-Data Structures

提供者:Prof. Erik Demaine

推奨学習時間:22セッション(90分/1セッション)

このコースは、時系列に沿って行われるストレージのように、幾何学的データ構造や時間的データ構造など、さまざまなタイプのデータ構造の概要を示します。そのような多様なデータ構造の主な研究方向をカバーしています。

 

9. Python

提供者:Austin Bingham, Robert Smallshire, Terry Toy, Bo Milanovich

推奨学習時間:7コース(約28時間)

このコースは、Python言語の基本からWebフレームワークおよびプログラミングの処理に至るまで紹介します。 Pythonは、汎用のプログラミング言語で、コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴があります。それはPythonがデータ分析で人気のあるプログラミング言語になる原因です。

 

Udemy

10. Java Tutorial for Complete Beginners

講師:John Purcell

推奨学習時間:75レクチャー(約28時間)

事前のプログラミング知識は必要なく、Javaプログラミング言語を学ぶための初心者コースです。HadoopJavaベースであり、ビッグデータ分析の基盤を築く最もホットなオープンソースソフトウェアの1つです。

 

Octoparse

上記のコースにはデータ分析のさまざまな側面が含まれていますが、十分なデータを入手するという前提条件があります。オンラインでデータを手動で抽出する従来のアプローチは、もはや使用されていません。インターネット上の情報を抽出するには、はるかに効率的なWebスクレイピングツールが必要です。 Octoparseは、多くのデータ専門家によって推奨されている自動Webスクレイピングツールです。それは使いやすく、早く習得でき、事前のプログラミング知識を必要としません。 何百万というオンラインのデータが、数秒であなたの指先で構造化データシート(ExcelCSVSQLAPI)にインポートすることができます。

Octoparseを利用してスクレイピングする活用事例をOctoparseのホームページまでご参考いただきます。

Yahoo!ショッピングから商品情報をスクレイピングする

楽天市場から商品価格をスクレイピングする

あなたにとっての最大の課題は、コースがそれほど難しいことではなく、あなたのキャリアを次のレベルに引き上げることです。 一緒に頑張りましょう。 

 

 

清華大学の科学研究におけるWebスクレイピングの役割

2017年から、Octoparse清華大学と共同で社会科学および経済関連分野の科学研究を行っています。清華大学の中で、経済研究所は社会科学部およびデータデータサイエンス研究所と連携して、インターネットから有用なデータを収集し分析することを目的とした「iCPI研究グループ」と呼ばれる共同研究チームを組織して、研究活動を行います。Octoparseビッグデータを大規模に収集し、清華大学ビッグデータを分析することによって、社会に適用される可能性のある行動を説明するために、科学法と理論を確立しようとしています。

 

iCPI研究に関する基本紹介 

 

iCPIとは?

iCPIはインターネットベースの消費者物価指数です。経時的な生活費の追跡に使用される通常のCPIと比べて、iCPIは、リアルタイムのオンラインデータに基づいて、と数十億のオンラインマーチャント取引における消費者の行動と急激な価格変動を調べることによってインフレを予測するように設計されています。

 

期待される結果:

Octoparseの力を借りて、清華大学のiCPI研究チームはプロジェクトに専念することを可能にし、重要な進歩を遂げました。リアルタイムのiCPIインデックス分析により、財務、経済データアナリスト、学校の研究者はデータを簡単に参照することができます。

 

 

 

 

研究の手順:

 

ステップ1:変数を定義する

中国国家統計局NBS)によると、CPIバスケットには8つの主要なカテゴリーがあります。食物、アルコール&タバコ、住居、衣類、交通&通信、健康、家庭用耐久財&サービス、教育&娯楽、その他のカテゴリです。各カテゴリーに含まれるサブコンポーネントもあり、例えば食品カテゴリーの穀物、豚肉、野菜のサブコンポーネントなどです。

清華大学の研究グループは、複数のプラットフォームで最大のオンライン市場シェアを持つ、販売価格の安定したカテゴリとサブコンポーネントを選択する必要があります。

 

ステップ2:データを収集する

iCPIの調査研究は、通常のCPIの研究とは異なります。実験の実施、参加者の観察、調査、既存のリソースなど、従来の方法ではデータを収集することはできません。清華大学の研究チームは、マクロ経済の判断基準として信頼できるiCPIパターンを生成するために、インターネット上の価格と商品に関する大量の情報を必要としています。したがって、データの収集は、手動のコピペは無理で、自動Webスクレイピングの形式で行う必要があります。

 

ステップ3:相関分析

 

ステップ4:指数計算

  • 毎日インデックス
  • 毎週インデックス
  • 毎月インデックス

 

Octoparseが選ばれる理由

 

iCPIの研究チームは研究を支援するために大量のデータを必要とします。それに研究メンバーがこのような量のデータを入手するには相当難しいです。

この作業に、コードを書くことを含む高度なデータ分析スキルが必要です。プログラミングのスキルが不足している研究メンバーにとっては困難な作業になります。

それに、データ収集のプロセスにおける量、質、効率、そして自動化を考える必要があります。スクレイピングが速すぎる場合、Webサイトがそれ以上のスクレイピングをブロックするための防止メカニズムを設定する可能性が非常に高いです。

結果として、チームメンバーがコーディングなしでスクレイピングできるようにし、同時にブロックすることを防ぐことが必要です。

Octoparseは、コードを1行も書かずにブロック防止機能を備えたWebスクレイピングツールです。他のスクレイピングツールと比べて、Octoparseは以下の特徴を持っています:

 

1. Octoparseの最も目立つ機能はスクレイピングテンプレートです。ソーシャルメディア、Eコマース、google scholar、金融などを含む12の異なるカテゴリをカバーするテンプレートが45個あります。

 

 

2. 内蔵ブラウザ:Web閲覧プロセスをシミュレートすることで、スクレイピングプロセスを視覚化します。そのため、Webページ構造についての知識がまったくない人は、Webスクレイピングを実行するために大量のHTMLコードを処理する必要はありません。

3. IPローテーション:1つのWebサイトから大量のデータを取得する予定の場合は、IPアドレスを頻繁に変更する必要があります。これは、Webサイトが1つのIPアドレスから発生した異常な動作を検出し、同じIPアドレスからの過剰なリクエストを禁止するためです。IPローテーションは、IPプロキシを自動的に切り替えるように設計されているため、追跡されるやアクセス拒否される可能性は最小限にされます。

4. ユーザーエージェントの切り替え:ユーザーエージェントは、ブラウザがWebサイトにリクエストを送信するために使用される名前タグです。Webサイトによっては、あるユーザーエージェントがWebサイトへのアクセスを許可されていないこともあります。Octoparseはこのような状況を避けるために9つのユーザーエージェントを提供しています。 

5. Cookieの自動削除:抽出プロセスを加速することができます。

 

 

 

 

まとめ

Octoparseはリリースされて以来、学校や教育機関を支援し、学割プログラムを実施しています。学割といえど在学中の学生だけでなく、教員の方も対象です。学割を申し込むには、学校名や学生証の提示、教育機関専用のメールアドレスが必要となります。対象となる方は学生・教職員価格で購入して、割引を受けましょう。

PHPで簡単なWebクローラーを作ってみた

Webサイトから必要な情報を収集ことと言えば、近年流行りのPythonだよね!今回は初心者がPHPで簡単なクローラーを作り、わかりやすくスクレイピングの方法についてご紹介します。

始める前に、WebスクレイピングとWebクローラーの概要を説明します。

Webスクレイピングとは、WebページのHTML内から情報を抽出することです。

Webクローラーとは、一般的にWEB上を巡回してWebサイトの情報を収集するボットプログラムのことを指します。

それでは、始めましょう!

 

ステップ1

Webページに入力ボックスと送信ボタンを追加します。

入力ボックスにWebページのURLを入力できます。

 

ステップ2

データを抽出するときには正規表現が必要です。

 

function preg_substr($start, $end, $str) // Regular expression      

{      

    $temp = preg_split($start, $str);      

    $content = preg_split($end, $temp[1]);      

    return $content[0];      

}    

 

ステップ3

データを抽出するときは文字列分割が必要です。

 

 

function str_substr($start, $end, $str) // string split       

{      

    $temp = explode($start, $str, 2);      

    $content = explode($end, $temp[1], 2);      

    return $content[0];      

}

 

ステップ4

関数を追加し抽出した内容を保存します。

 

function writelog($str)

{

  @unlink("log.txt");

  $open=fopen("log.txt","a" );

  fwrite($open,$str);

  fclose($open);

 

抽出したコンテンツがブラウザに表示されるものと一致しない場合、正しい正規表現を見つけることができません。ここで保存した.txtファイルを開いて正しい文字列を見つけることができます。

function writelog($str)

{

@unlink("log.txt");

$open=fopen("log.txt","a" );

fwrite($open,$str);

fclose($open);

}

 

ステップ5

画像を抽出したいなら、関数も必要とされます。

 

function getImage($url, $filename='', $dirName, $fileType, $type=0)

   {

    if($url == ''){return false;}

    //get the default file name

    $defaultFileName = basename($url);

    //file type

    $suffix = substr(strrchr($url,'.'), 1);

    if(!in_array($suffix, $fileType)){

        return false;

    }

    //set the file name

    $filename = $filename == '' ? time().rand(0,9).'.'.$suffix : $defaultFileName;

          

    //get remote file resource

    if($type){

        $ch = curl_init();

        $timeout = 5;

        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

        $file = curl_exec($ch);

        curl_close($ch);

    }else{

        ob_start();

        readfile($url);

        $file = ob_get_contents();

        ob_end_clean();

    }

    //set file path

    $dirName = $dirName.'/'.date('Y', time()).'/'.date('m', time()).'/'.date('d',time()).'/';

    if(!file_exists($dirName)){

        mkdir($dirName, 0777, true);

    }

    //save file

    $res = fopen($dirName.$filename,'a');

    fwrite($res,$file);

    fclose($res);

    return $dirName.$filename;

    }

 

ステップ6

抽出用のコードを書きます。例として、AmazonのWebページを見てみましょう。まず商品のページリンクを入力します。

if($_POST[‘URL’]){

//---------------------example-------------------

$str = file_get_contents($_POST[‘URL’]);

$str = mb_convert_encoding($str, ‘utf-8’,’iso-8859-1’);

writelog($str);

//echo $str;

echo(‘Title:’ . Preg_substr(‘/<span id= “btAsinTitle”[^>}*>/’,’/<Vspan>/$str));

echo(‘<br/>’);

$imgurl=str_substr(‘var imageSrc = “’,’”’,$str);

echo ‘<img src=”’.getImage($imgurl,”,’img’ array(‘jpg’));  

 

 

そうすると、抽出する商品が出てきます。以下はスクリーンショットです。

いかがでしたでしょうか。

PythonJavaScriptPHPなどのプログラミング言語でお仕事にしているプロ級の方にとってはすごく簡単ですが、プログラミングに詳しくない方は練習する必要があります。今では、Webスクレイピング技術の開発に伴い、Webスクレイピングツールが増え、コーディングする必要はもうありません。

例えば、OcotpaseのWebスクレイピングテンプレートを使用すると、ワンタッチでWebサイトからデータを収集することができます。皆さんも使ってみましょう!

業界初!Webデータを自動収集できるWebスクレイピングテンプレート

今では、副業としてAmazon楽天市場に出店している人がたくさんいるでしょう。Amazonの販売者だった場合、競合店がどのような価格で同様の製品を販売しているのかを調査しなければなりませんね。Amazonデータベースに直接アクセスすることはできないので、出品者と価格のテーブルを作成するためにすべてのページを閲覧する必要があります。もちろん、Pythonを書いて、製品名、レビュー、価格などのような望ましい情報を抽出するためにスクレイピングロボットを作ることもできます。しかし、プログラミング技術を持っていない販売者にとって、Webから有用なデータを取得するためのコーディング方法を学ぶことは、自分の能力を遥かに超えています。

もしパワーポイントテンプレートのようにWebスクレイピングにもテンプレートがあれば、対象となるWebサイトのテンプレートを選択して、収集したいデータを選択してスクレイピングを開始できますよね。そこはOctoparseの出番です。Octoparseは業界初の革新的なWebスクレイピングテンプレートという機能をリリースしました。

 

Octoparseについて

Octoparseは、初心者から高級者向けのWebスクレイピングツールです。直感的に操作できる操作画面、コーディングせず簡単なポイントアンドクリック操作をして、Webサイトからすべてのテキストを収集ことが可能です。取得したデータはExcel、HTML、CSV、またはご指定のデータベースのような構造化フォーマットに保存されます。

 

Webスクレイピングテンプレートとは?

Webスクレイピングテンプレートは非常にシンプルで強力な機能です。テンプレートを使うと、プログラミング知識の少ない/ない人でも簡単にWebスクレイピングを達成できます。具体的には、Octoparseのソフトには数十種類のあらかじめ作成されたテンプレートがあり、パラメータ(ターゲットWebサイトのURL、検索キーワードなど)を入力するだけで、データが抽出されてきます。そのため、スクレイピングタスクやコードを書く必要はありません。例えば、eBayで「イヤフォン」に関する製品情報を収集したい場合は、パラメータに「イヤフォン」と入力してタスクを実行して、数秒でアイテム番号、価格、送料などを含む製品情報を得ることができます。

 

なぜテンプレートモードが特別なの?

Webクローラーを作成するのにどれほどの技術スキルが必要でしょうか?新しくリリースされたWebスクレイピングテンプレートでは「必要なし」です。伝統的なWebスクレイピング手法では、1つのWebクローラーを完成させるためにPythonを学ぶ必要があります。しかし、Pythonの学習にはかなり時間がかかります。例えば、Pythonの書くことを、Adobe Photoshopを使って写真を編集するようなものだと考えてみてください。VSCOのような写真加工アプリと比べると、Adobe Photoshopはパラメータのセットが非常に複雑です。OctoparseのWebスクレイピングテンプレートは、Webスクレイピングに苦労している人々のためのソリューションです。必要あるのはWebサイトのURLを入力することだけです。それからの作業はOctoparseが全部やります。

 

これは誰向けなの?

誰でも!はい、データを迅速かつ簡単に入手したい人のために。この時点でテンプレートはAmazonInstagramTwitterYouTube楽天市場Googleマップなど多くの人気サイトがカバーされています。

 

ほかのWebスクレイピングツールと比べてOctoparseの特徴は?

1. Octoparseは、内蔵ブラウザを介して、データを閲覧、検索、抽出するという人間の操作をシミュレートします。スクロールダウン、実行前の待機などの高度な設定により、抽出プロセス全体が人間化されて順調になります。

2. Webサイトにブロックを回避するために、Octoparseはプロキシサーバー、IPローテーション、ユーザーエージェント、CAPTCHA回避、Cookieクリアなどを提供して、Webスクレイピングの中断を防止します。

3. 抽出時間と頻度を設定することで、定期のスクレイピング作業をOctoparseに任せることができます。あるいは、クラウド上でタスクを実行して、ローカルリソース(パソコンのメモリーやIPなど)を占有しないようにすることもできます。

4. Octoparse内蔵の正規表現ツールで抽出したデータを再フォーマットすることができ、XPathツールは、プログラミングに詳しくない人のために要素を正確に見つけることができます。

 

 

本当の意味での自動Webスクレイピングを実現するために、Octoparseチームはデータをより入手しやすくし、誰でも利用できるように取り込んでいます。ビッグデータの時代では、誰でもビッグデータの力を利用するためにデータを収集するスキルを身に付けるべきです。正確なデータベースがあれば、データ分析、マーケティング戦略、センチメント分析、広告キャンペーン、見込み顧客の生成などを実行できます。

スクレイピングテクニック - ブロックを回避する方法

Webスクレイピングは、Webページから大量のデータを効率的に取得する目的で、人間のコピペ作業を自動化するためによく使用される手法です。 

OctoparseのようなさまざまなWebスクレイピングツールが普及してきており、多くの分野で活用されていますが、いろんな問題もあります。例えば、WebスクレイピングがWebサーバーを過負荷にし、サーバーの故障につながる場合もあります。ますます多くのWeb所有者がWebスクレーパーをブロックするためにスクレイピング防止技術を装備していて、Webスクレイピングはより困難になっています。それにもかかわらず、ブロックを回避する方法はまだあります。この記事では、ブロックを回避するための5つのヒントについてご説明します。

 

1. スクレイピングのスピードを落とす

ほとんどのWebスクレイピング作業は、できるだけ早くデータを取得することを目的としています。ただし、Webスクレイピングの場合と比べて、人間がサイトにアクセスするのが遅くなります。したがって、アクセス速度を追跡することで、サイトがWebスクレーパーであるかどうかを判断します。あまりにもアクセスが速すぎえることが判明したら、あなたが人間ではないと疑い、そのアクセスをブロックします。

ですから、Webサイトに過負荷を掛けないでください。リクエスト間に時間遅延を設定し、同時のアクセスを毎回1〜2ページに減らすことができます。Webサイトを優しくすれば、データのスクレイピングを続けることができます。

Octoparseでは、ワークフロー内の任意のステップの待ち時間を設定して、スクレイピングのスピードをコントロールできます。スクレイピングをより人間的にするための「ランダム」な選択肢さえあります。

 

 

2. プロキシサーバーを使う

Webサイトが単一のIPアドレスから多数のリクエストがあることを検出すると、IPアドレスをブロックしやすいです。すべてのリクエストを同じIPアドレスで送信しないようにするには、プロキシサーバーを使用できます。プロキシサーバーとは、他のコンピュータの「代理」として他のサーバーと通信するサーバーの事を指します。それは本当のIPアドレスを隠して、設定したIPを使ってWebサイトにリクエストを送ることを可能にします。

もちろん、プロキシサーバーに設定されている単一のIPを使用しても、ブロックされるのはやすいです。IPアドレスのプールを作成し、それらをランダムに使用して一連の異なるIPアドレスを介してリクエストを送る必要があります。VPNなどの多くのサーバーは、IPローテーションを設定するのに役立ちます。

 Octoparseクラウドサービスは、それぞれ唯一のIPアドレスを持つ何百台のクラウドサーバーによってサポートされています。抽出タスクがクラウドで実行されるように設定されている場合、リクエストはターゲットのWebサイトでさまざまなIPを介して実行されるため、追跡される可能性が最小限に抑えられます。Octoparseローカル抽出により、ユーザーはブロックされないように手動でプロキシを設定することができます。

 

 

3. 異なるスクレイピングパターンを適用する

人間はランダムなクリックや閲覧時間でサイトを閲覧します。しかし、Webスクレイピングは、プログラムされた特定のクローリングパターンに常に従います。そのため、スクレイピング防止メカニズムは、Webサイトで実行された重複的なスクレイピング動作を識別することで、クローラーを簡単に検出できます。

スクレーピングパターンを時々変更して、ランダムなクリック、マウスの動き、またはWebスクレイピングをより人間的にするための待ち時間を組み込む必要があります。

Octoparseでは、3〜5分で簡単にワークフローを設定できます。ドラッグアンドポイントを使用してクリックやマウスの動きを簡単に追加したり、ワークフローをすばやく再構築したりすることで、プログラマーのコーディング時間を大幅に節約し、非プログラマー担当者が独自のスクレーパーを簡単に作成できるようにします。

 

4. ユーザーエージェントを切り替える

ユーザーエージェント(UA)は、リクエストのヘッダーにある文字列で、Webサーバーに対するブラウザとオペレーティングシステムを識別します。Webブラウザによるすべてのリクエストには、ユーザーエージェントが含まれています。一つだけのユーザーエージェントで異常に多数のリクエストを送信すると、ブロックされるかもしれません。ブロックを回避するためには、ユーザーエージェントの頻度を切り替える必要があります。

多くのプログラマーは、偽造されたユーザーエージェントをヘッダーに追加するか、ブロックされないように手動でユーザーエージェントのリストを作成します。 Octoparseを使用すると、クローラーの自動UA回転を簡単に有効にして、ブロックされるリスクを減らすことができます。

 

 

 

5. ハニーポットトラップに注意する

ハニーポットは、通常の訪問者には見えないリンクですが、HTMLコード内にあり、Webスクレーパーによって見つけることができます。不正なアクセスや攻撃を徹底的に監視して調査する機能を有しています。特定の訪問者がハニーポットページを閲覧すると、そのWebサイトはそれが人間の訪問者ではないことを識別でき、そのクライアントからのすべてのリクエストを抑制またはブロックします。

特定のサイト用のスクレーパーを作成するときは、標準のブラウザを使用してユーザーに隠されたリンクがあるかどうかを慎重に確認することをお勧めします。

Octoparseは、偽のリンクをクリックしないように、正確なキャプチャやクリック操作にXPathを使用します(XPathを使用して要素を見つける方法を参照してください)。

 

この記事で提供されているすべてのヒントは、ある程度ブロックされないようにするのに役立ちます。Webスクレイピング技術を使って、日々の業務を自動化することができますが、悪用することはできませんね。

無料で使えるスクレイピングツール9選

世の中には様々なスクレイピングツールがあります。しかし、すべてのWebスクレイピングツールが非プログラマーに向けるものではありません。この記事では、初心者向けに無料で利用できるWebスクレイピングツールをご紹介します。

 

 

ソフトウェア型

1. Octoparse

Octoparseは、個人や企業にもデータ抽出サービスを提供する日本語スクレイピングツールです。ソーシャルメディア、Eコーマス、マーケティング、営業リストなどの情報やデータを抽出できます。単純なHTML構造でのみコンテンツをスクレイピングするWebスクレーパーとは異なり、OctoparseAJAXJavaScriptcookieなどを利用している静的および動的Webサイトの両方を処理でき、ログインが必要なサイトなどの複雑なWebサイトにも対応できます。Octoparseソースコードを解析することによってWebサイトに表示されていない情報を扱うことさえできます。

Octoparseクラウドサービスも提供しています。クラウドサービスは、複数のクラウドサーバーが同時に1つのタスクを実行するため、短時間で膨大な量のデータを抽出することができます。また、必要に応じて、定期実行のスケジュールも設定することもできます。

それに、超初心者に向けのクローラーテンプレートもたくさん提供しています。タスクテンプレートを使うと、パラメータ(ターゲットページのURL、検索キーワードなど)を入力するだけで、データがどんどん抽出されてきます。取得したデータをCSVExcel、またはデータベースなどの構造化フォーマットとして保存できます。

 

2. ParseHub

Parsehubは、Octoparseと同じ、AJAXJavaScriptCookieなどを使用するWebサイトからのデータ収集をサポートする優れたWebスクレイピングツールです。Parsehubは、Webドキュメントを読み取り、分析し、関連データに変換することができる機械学習テクノロジを利用します。URL指定とスクレイピングしたい箇所を選択するだけで、スクレイピングを実行します。

Parsehubは、WindowsMac OS X、およびLinuxなどのシステムをサポートしています。またはブラウザ拡張機能を使用してインスタントスクレイピングを実現することもできます。無料版は40分に200ページまでしか対応できません。有料版には様々なサポートがあります。

 

 

3. Visual Scraper         

VisualScraperは、もう1つの素晴らしい無料Webスクレイピングツールです。そのポイントアンドクリックインタフェースで、プログラミングスキルを持たないユーザーでも、自分の好みを設定してデータ抽出を設定できます。そのリアルタイム機能により、データの結果をすぐにテストして表示することができます。

VisualScraperはWindowsで利用可能で、無料プランなら、最大50,000のページ対応でき、有料プランで10万以上のページをスクレイピングすることができます。

 

 


 

プラグイン

1. Webscraper

Webscraperは、Chromeの拡張として提供されているスクレピングツール。ブラウザの拡張として動作するため、windowsMacどちらでも可能です。拡張機能なら、Webサイトがどのようにナビゲートされるべきであり、どんなデータがスクレイピングされるべきであるかについてのサイトマップ(計画)を作成することができます。もし大量のデータをスクレイピングし、複数のスクレイピングタスクを同時に実行する場合はクラウド版(有料)を選択することができます。データをCSVでエクスポートするか、Couch DBに保存することができます。

 

 

 

2. Scraper

Scraperは、WEBページ上のあるデータを手軽に取得することができるChrome拡張です。テーブルまたはリストからテキストを選択し、選択したテキストを右クリックしてブラウザメニューから[Scrape Similar]を選択します。次に、XPathまたはJQueryを使用して新しい列を追加することによってデータを取得し、他のコンテンツを抽出します。また、その取得したデータをワンクリックでGoogleスプレッドシートに保存することができます。

 

 

3. Outwit Hub

Outwit HubはFirefox拡張機能で、Firefoxアドオンストアから簡単にダウンロードできます。プログラミングの知識を必要とせずに、OutWit Hubはリンク、メールアドレス、RSSニュースおよびデータテーブルを抽出してExcelCSV、HTMLまたはSQLデータベースにエクスポートできます。Outwit Hubには、入力したURLのリストからデータをすばやくスクレイピングする優れた「Fast Scrape」機能があります。使い方もシンプルで、簡単な構成のWebサイトスクレイピングに適しています。

 

 


 

WEBサービス

1. Webhose.io

Webhose.ioを使用すると、世界中のオンラインソースをさまざまなクリーンな形式にクロールして、リアルタイムのデータを取得できます。このWebクローラーを使うと、さまざまなソースをカバーする複数のフィルターを使用でき、取得したデータからさまざまな言語のキーワードをさらに抽出することができます。

スクレイピングしたデータをExcelXMLJSONRSSなども形式で保存でき、アーカイブから履歴データにアクセスすることができます。さらに、webhose.ioは取得したデータを最大80種言語でサポートします。ユーザーはWebhose.ioによってクロールされた構造化データに簡単にインデックスを付けて検索することができます。

 

 

2. 80legs

80legsは、カスタマイズされた要件に基づいて構成できる強力で柔軟なデータスクレイピングツールです。それは膨大な量のデータの取得と共に、抽出されたデータを即時にダウンロードするオプションをサポートしています。開発者は、クローリングネットを広げるために80legs APIを自分のアプリケーションに組み込むことができます。80legsは、無料からでも利用でき、1回あたり10,000 URLまでわずか数秒でデータを取得できる高性能クローリング体験を提供します。

 

 

3. Crawly

CrawlyはWebサイトをスクレイピングしてJSONまたはCSVの形で構造化データに変換する自動サービスを提供しています。数秒以内に限られた要素を抽出することができます。例えば、HTML、コメント、DateEntityタグ、作成者、画像URL、ビデオ、発行者、および国です。

 

 

スクレイピングは難しそうにも思えますが、上記のスクレイピングツールを使用して思ったより簡単に自分で行うこともできます。皆さんもぜひお試ししてみてください!