中国のシリコンバレー、Huaweiも本社をおく深センで暮すにはいくらかかる?
米中貿易戦争、米中「5G戦略」の炎上にとともに、中国の通信機器大手である「HUAWEI(ファーウェイ/華為技術)」が世界で注目を集めています。HUAWEIは、1987年に中国 ・深センに設立され、30年かけて世界有数のICTソリューション・プロバイダーで、世界市場シェアは3位になっています。Tech系モノ作りの精神にあふれた深センも「中国のシリコンバレー」としていま世界中から注目されています。
Huawei、Tencent、ZTEなどのテクノロジー系会社が深センに本社を置くようになり、驚くべきスピードで新しい最先端技術を駆使して成長しています。深セン、中国の経済を推進する非常に多くの大企業を惹きつけてきた都市の魔法は何ですか?
深センは、中国の南側にある都市で香港に近く、港があるためコンテナ輸出入に有利な地形があり、1980年代には中国の最初の経済特区として設立され、その後、「トリクルダウン」政策の原動力となった深センでは、1,300万人が暮らしています。深センの経済と人々の生活状況をよりよく理解するために、住宅販売に関する20,000件以上の情報をスクレイピングしました。以下では調査結果を説明したいと思います。
ステップ1. データを収集する
Webサイト:Lianjia.com(中国で最も広く利用されている不動産Webサイト)
Octoparseを使用して、には、住宅名、住所、価格、利点、住居計画、住居地域、発売日、賃貸期間、賃貸要件、駐車スペース、電気、および駅までまでの距離が含まれる情報をスクレイピングします。
ステップ2. データを整理する
ステップ3. データを視覚化する
上のグラフは平方メートル当たりの家賃を示し、青は価格帯の安いのほうを、赤は高いのほうを表し、円の大きさは市場での家賃の数を表します。地図から家賃の放射輝度を見ると、香港(深センの南の方にある)に近いほど家賃は高くなる傾向が見られます。
次に、家賃と物件の数です。棒が物件のレコード数で、赤い線が中国人民元の平方メートル当たりの単価を表しています。例えば、左から2番目の棒は、福田区の2550戸が平均130元/㎡で賃貸可能であることを示しています。
それでは、小地域(1つ区にはの複数の小地域がある)のデータを詳しく見てみましょう。どの区内でも都心部に近いエリアほど家賃が高いです。
下のグラフは平方メートル当たりの費用とアパートの面積の関係を示しています。小さいアパートは単価レベルでより多くの費用がかかることは明らかです。20㎡より小さいアパートは最も高いです。
8〜15㎡の物件は1戸当たりの家賃が最も高いのに対し、70〜110㎡の物件は1戸当たりの家賃がはるかに低くなります。一方、家賃は110㎡を超える物件で回復しています。
家賃と地下鉄駅までの徒歩距離の相関関係を見てみましょう。相関係数の値は-0.49で、これは、地下鉄の駅までの距離が家賃と強い相関を持つことを意味します。駅に近いほど家賃が高くなる傾向があります。
HUAWEIの本社は深セン市の中心部の外として扱われてきた龍崗区にあり、家賃は55元/㎡なので、50㎡のアパートは50 * 55 = 2750元となります。
しかし、TencentやZTEを含むほとんどのハイテク企業と南山区のすべてのスタートアップ企業で働いている場合、例えば、毎月の給料は8000元で、50㎡のアパートを借りるなら、現在の家賃は50 * 130 = 6500元になり、相当大変でしょう。ですから、南山区ではルームシェアは普通です。もし一人暮らししたいなら、給料はそらく月に2万元ぐらいなら、そんな余裕があると思います。もちろん、平均㎡単価の低いエリアに住むのもいいですが、毎日の通勤ストレスを考えると思い切ってオフィスの近くに引っ越しをするというのもいいかもしれませんね。
いかがでしたか?深センに住みたい方はぜひ参考にしてみてください!
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、検索キーワードなど)を入力するだけで、データが抽出されてきます。この時点でテンプレートはAmazon、Instagram、Twitter、YouTube、楽天市場、Googleマップなど多くの人気サイトがカバーされています。
5.法人プラン
法人ユーザーの大規模なデータ抽出プロジェクトを満足する、Webスクレイピングを簡単にご使用いただくことを目的として、今年の三月Octoparseは法人様向けプランをリリースしました。法人様向けプランは複数ユーザーのアクセス、Webベースのデータ管理と検索、拡張性のあるクラウドリソースを特徴として、あらゆる規模のデータスクレイピングを達成できます。
日本語クライアント開発や新機能リリースなどの形で運営改善を少しずつ実践してきたら、いつの間にか今年の7月が間近に迫っていたというのが実情です。色々とご不便な操作をさせてしまいつつも、これらの努力により、Octoparseの日本語サイトは月間ユニークビジター数が10万人を超えるまでに成長しました。たくさんのお客様にOctoparseを選んでもらえた事、とても感謝しております。
ユーザー数の増加により、ユーザーから多くの高評価を得ました。皆さんからのご意見がOctoparseをより良いサービスに成長させる大きな原動力となりますので、ぜひお聞かせください。
この一年間、成長を実感しましたが、Octoparseにはきっと多くの不足が存在しています。これからもユーザーとの交流を踏まえて、今までよりも積極的なサービスを提供して、大きく成長できるように日々努力していきますので、今後ともどうぞ宜しくお願い致します。
ビッグデータ分析用オンライン講座10選
データサイエンスは、データ駆動型社会市場の台頭としてはもはや流行語ではありません。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言語に基づいて行われたので、コースを受講する前にプログラミングの基本的な知識を固めたほうがおすすめです。
提供者:University of California, San Diego
推奨学習時間:30週間、週3〜6時間
基本的な紹介、モデリング、管理システム、統合、処理から機械学習やグラフ分析まで6つのコースからビッグデータの主な側面をカバーしています。初心者ためのビッグデータ入門書でプログラミングについて深く掘り下げていないので、事前のプログラミング経験は必要ありません。
提供者: 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も含みます。
提供者:University of California, Berkeley
推奨学習時間:16週間、週5〜7時間
このコースは、マーケティング測定戦略、価格と販売促進分析、競合分析と市場細分化、製品流通と販売を含む4つのコースに分かれています。Oracle、3Com、NASAなどの企業でマーケティングおよび製品開発において主導的な役割を果たしてきた業界専門家のステファン・ソルジャー(Stephan Sorger)によって設計および指導されています。
Cognitive Class
提供者:IBM
推奨学習時間:2週間、週5〜7時間
3つのコースから構成されて、ビッグデータ、Hadoop、およびSparkについて簡単に紹介します。Cognitive classはIBMが主導するビックデータに関するオンライン上の学習コミュニティです。
MIT Open Courseware
提供者: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プログラミング言語を学ぶための初心者コースです。HadoopはJavaベースであり、ビッグデータ分析の基盤を築く最もホットなオープンソースソフトウェアの1つです。
上記のコースにはデータ分析のさまざまな側面が含まれていますが、十分なデータを入手するという前提条件があります。オンラインでデータを手動で抽出する従来のアプローチは、もはや使用されていません。インターネット上の情報を抽出するには、はるかに効率的なWebスクレイピングツールが必要です。 Octoparseは、多くのデータ専門家によって推奨されている自動Webスクレイピングツールです。それは使いやすく、早く習得でき、事前のプログラミング知識を必要としません。 何百万というオンラインのデータが、数秒であなたの指先で構造化データシート(Excel、CSV、SQL、API)にインポートすることができます。
Octoparseを利用してスクレイピングする活用事例をOctoparseのホームページまでご参考いただきます。
あなたにとっての最大の課題は、コースがそれほど難しいことではなく、あなたのキャリアを次のレベルに引き上げることです。 一緒に頑張りましょう。
清華大学の科学研究におけるWebスクレイピングの役割
2017年から、Octoparseは清華大学と共同で社会科学および経済関連分野の科学研究を行っています。清華大学の中で、経済研究所は社会科学部およびデータデータサイエンス研究所と連携して、インターネットから有用なデータを収集し分析することを目的とした「iCPI研究グループ」と呼ばれる共同研究チームを組織して、研究活動を行います。Octoparseがビッグデータを大規模に収集し、清華大学はビッグデータを分析することによって、社会に適用される可能性のある行動を説明するために、科学法と理論を確立しようとしています。
iCPI研究に関する基本紹介
iCPIとは?
iCPIはインターネットベースの消費者物価指数です。経時的な生活費の追跡に使用される通常のCPIと比べて、iCPIは、リアルタイムのオンラインデータに基づいて、と数十億のオンラインマーチャント取引における消費者の行動と急激な価格変動を調べることによってインフレを予測するように設計されています。
期待される結果:
Octoparseの力を借りて、清華大学のiCPI研究チームはプロジェクトに専念することを可能にし、重要な進歩を遂げました。リアルタイムのiCPIインデックス分析により、財務、経済データアナリスト、学校の研究者はデータを簡単に参照することができます。
研究の手順:
ステップ1:変数を定義する
中国国家統計局(NBS)によると、CPIバスケットには8つの主要なカテゴリーがあります。食物、アルコール&タバコ、住居、衣類、交通&通信、健康、家庭用耐久財&サービス、教育&娯楽、その他のカテゴリです。各カテゴリーに含まれるサブコンポーネントもあり、例えば食品カテゴリーの穀物、豚肉、野菜のサブコンポーネントなどです。
清華大学の研究グループは、複数のプラットフォームで最大のオンライン市場シェアを持つ、販売価格の安定したカテゴリとサブコンポーネントを選択する必要があります。
ステップ2:データを収集する
iCPIの調査研究は、通常のCPIの研究とは異なります。実験の実施、参加者の観察、調査、既存のリソースなど、従来の方法ではデータを収集することはできません。清華大学の研究チームは、マクロ経済の判断基準として信頼できるiCPIパターンを生成するために、インターネット上の価格と商品に関する大量の情報を必要としています。したがって、データの収集は、手動のコピペは無理で、自動Webスクレイピングの形式で行う必要があります。
ステップ3:相関分析
- iCPI
- カテゴリー
- サブコンポーネント
ステップ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’));
そうすると、抽出する商品が出てきます。以下はスクリーンショットです。
いかがでしたでしょうか。
PythonやJavaScript、PHPなどのプログラミング言語でお仕事にしているプロ級の方にとってはすごく簡単ですが、プログラミングに詳しくない方は練習する必要があります。今では、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が全部やります。
これは誰向けなの?
誰でも!はい、データを迅速かつ簡単に入手したい人のために。この時点でテンプレートはAmazon、Instagram、Twitter、YouTube、楽天市場、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スクレイピング技術を使って、日々の業務を自動化することができますが、悪用することはできませんね。