Webサイトからデータを抽出し、xls、csv、txt、xmlなどに変換するには、コピペが一番使われますよね。でも、膨大なデータ量がある場合は、これは非常に労力を費やす作業になります。もしPythonなどのプログラミング技術があれば、Webスクレイピングでコピペを自動化でき、その仕事が楽になりますが、プログラミングの知識がない方に対しては、Web上のデータ自動取得には、どうすればよろしいでしょうか?本記事では、素人にも簡単に使えるノーコードのWebスクレイピング方法を紹介します。興味がございましたら、一緒に試してみましょう!
これから、主にGoogleスプレッドシートとWebスクレイピングツールからノーコードのデータ抽出方法を比較しながら紹介します。
Googleスプレッドシートでデータ入力を自動化する
GoogleスプレッドシートでIMPORTXML関数を使って簡単なWebクローラーを構築する
ステップ1:新しいGoogleスプレッドシートを開きます。
ステップ2:ChromeブラウザでターゲットWebサイトsteamspy.comを開きます。ページを右クリックして「検証」を選択し、コンビネーションキー「Ctrl + Shift + C」を押して「セレクタ」を有効にします。そうすると、必要な箇所にカーソルを置くと、対応する情報が「検証パネル」に表示されます。
コンビネーションキー「Ctrl + Shift + C」
ステップ3:URLをスプレッドシートにコピペします。ここではA2に指定します。
IMPORTXMLという非常に便利な関数を使って、価格データを取得します。
まず、要素のXpathをコピーする必要があります。
価格の箇所を選択 → Copy → Copy XPath をクリック。
//*[@id="trendinggames"]/tbody/tr[1]/td[4]
XPathを取得しました。
次、シートに下の関数式を入力します。
=IMPORTXML(URL, XPathクエリ)
そして、URLとXPathクエリを指定します。ダブルクオートがスプレッドシートの引数とぶつかってしまうため、そこだけシングルクオートに変更してください。
=IMPORTXML(A2,"//*[@id='trendinggames']/tbody/tr[1]/td[4]")
これで無事、"$19.99" という文字列が取得できました。
テーブルの取得方法もあります。
= IMPORTHTML(URL, クエリ, 指数)
この式を使うと、テーブル全体を簡単に抽出できます。
ノーコードツールでデータをスクレイピングする
さて、スクレイピングツールOctoparseを使って、同じ作業をどのように達成できるかを見てみましょう。
ステップ1:Octoparseでスクレイピングするサイトを開く
Octoparseを起動します。スクレイピングしたいWebページのURLを入力します。「抽出開始」 ボタンをクリックして進みます。
ステップ2: ページ上の内容を自動識別
Octoparseでページが読み込みされたら、自動的にページ上の内容を識別します。もし自動識別機能をオフする場合は、右上の操作ヒントパネルで 「Webページを自動識別する」、ページ上の内容を識別します。 自動識別とは、自動的にページ上の必要なデータを検出して識別するという役立つ機能です。ポイント&クリックをする必要はなく、Octoparseは自動的に処理します。
ステップ3:ワークフローを生成する
識別が完了すると、データプレビューで識別したデータを表示され、どのようなデータが取得されているかを確認することができます。「ワークフローを生成」をクリックして確認し、タスクを作成します。
上の「実行」ボタンをクリックして、すぐタスクを実行できます。
これがOctoparseのスピードです。
まとめ:
1. Octoparseは、無料プランも提供しているWebスクレイピングツールです。ノーコード技術を使うため、非エンジニアでもスクレイピングすることができます。Webスクレイピングプロジェクトを1から始める最適なツールです。
2. Octoparseの自動識別機能を利用して、Webサイトから簡単にデータを取得することができます。これにより、他のツールでややこしいステップ設定から解放されます。
関連記事:
Webスクレイピングするなら何言語?Python、Ruby、またはJavaScript?