Cheerioを使用してノードで非同期Webスクレイピングスクリプトを構築する

この簡単なガイドでは、cheerio、pretty、およびAxiosライブラリを使用して、ノードjsアプリケーションで非同期Webサイトスクレイピングスクリプトを作成する方法を説明します。

理想的には、Webスクレイピングは、Webサイトからコンテンツと有用なデータを抽出するプロセスです。Webスクレイピングは通常、データ収集に依存するさまざまなデジタルビジネスで使用されます。

この投稿では、Node js、Axiosクライアント、cheerioパッケージを使用してミニWebスクレイピングツールを構築する方法を段階的に説明します。

このガイドに記載されているすべての手順を理解すると、ノード環境でWebデータをスクレイピングすることに慣れることができます。

cheerio Webスクレイパースクリプトの作成を開始し、ノードjsでcheerioを使用して、本のWebサイトから特定のカテゴリのデータをスクラップする方法を理解しましょう。

Cheerioを使用してノードで非同期Webスクレイピングスクリプトを構築する方法

  • ステップ1:ノードプロジェクトを作成する
  • ステップ2: CheerioモジュールとPrettyモジュールを追加する
  • ステップ2: Axiosパッケージを追加する
  • ステップ3:サーバーファイルを作成する
  • ステップ4: Webスクレイピングスクリプトを作成する
  • ステップ5:スクレイピングスクリプトを実行する

ノードプロジェクトの作成

最初のステップでは、空のフォルダーを作成したことを確認する必要があります。

指定されたコマンドを使用して新しいフォルダを生成する方法は次のとおりです。

mkdir node-lab

プロジェクトフォルダ内に入ります。

cd node-lab

ここで、プロジェクトフォルダーに入った後、提案されたコマンドを実行します。コマンドラインツールによって要求されるすべての情報を提供するようにしてください。

npm init

CheerioとPrettyモジュールを追加する

さらに、ターミナルを再度開き、指定されたコマンドを実行して、cheerioパッケージとprettyパッケージを一緒にインストールする必要があります。

npm install cheerio pretty

Axiosパッケージを追加

このステップでは、Webスクレイパーツールを参照して非同期HTTPリクエストを作成するためのAxiosHTTPクライアントをインストールする必要があります。

npm install axios

サーバーファイルの作成

次に、server.jsファイルを作成します。このファイルに、Webスクレイピングスクリプトを作成するためのコードを追加します。

次に、package.jsonに移動し、scriptタグのほかにserver.jsファイル名を追加します。

...  
...  
"scripts": {
    "start": "node server.js"
  },
...  
...  

Webスクレイピングスクリプトを作成する

ウェブサイトからデータをスクレイピングするために、データをスクレイピングしても気にならないダミーサイトを使用しています。

次のコードをコピーして、server.jsファイルに貼り付けます。

const fs = require('fs')
const cheerio = require('cheerio')
const axios = require('axios')
const API =
  'http://books.toscrape.com/catalogue/category/books/mystery_3/index.html'
const scrapperScript = async () => {
  try {
    const { data } = await axios.get(API)
    const $ = cheerio.load(data)
    const DataBooks = $('.row li .product_pod')
    const scrapedData = []
    DataBooks.each((index, el) => {
      const scrapItem = { title: '', price: '' }
      scrapItem.title = $(el).children('h3').text()
      scrapItem.price = $(el)
        .children('.product_price')
        .children('p.price_color')
        .text()
      scrapedData.push(scrapItem)
    })
    console.dir(scrapedData)
    fs.writeFile(
      'scrapedBooks.json',
      JSON.stringify(scrapedData, null, 2),
      (e) => {
        if (e) {
          console.log(e)
          return
        }
        console.log('Scraping completed.')
      },
    )
  } catch (error) {
    console.error(error)
  }
}
scrapperScript()

スクレイピングスクリプトを実行する

これで、Webサイトからデータを取得する準備が整いました。ターミナルに移動し、ノードコマンドを入力して、Enterキーを押します。

node server.js

コマンドを実行すると、抽出されたデータがコンソール画面と、ノードプロジェクトのルートに新しく生成されたscrapedBooks.jsonファイルに表示されます。

Node Jsは、Cheerioチュートリアルを使用してWebスクレイピングスクリプトを作成します

結論

この包括的なガイドでは、ノードjsでWebスクレイパースクリプトを作成するプロセスについて説明しました。

ノードメカニズムを使用してウェブサイトからデータを抽出することを主な目的とする基本的なノードアプリを作成しました。

非同期HTTPリクエストとCheerioプラグインを使用して、他のWebサイトからデータを取得しました。

Cheerioはマークアップを解析し、結果のデータ構造をトラバース/操作するためのAPIを提供します。 

ソース:https ://www.positronx.io/node-js-create-web-scraping-script-using-cheerio-tutorial/

#cheerio #web #api #http #nodejs 

What is GEEK

Buddha Community

Cheerioを使用してノードで非同期Webスクレイピングスクリプトを構築する

Cheerioを使用してノードで非同期Webスクレイピングスクリプトを構築する

この簡単なガイドでは、cheerio、pretty、およびAxiosライブラリを使用して、ノードjsアプリケーションで非同期Webサイトスクレイピングスクリプトを作成する方法を説明します。

理想的には、Webスクレイピングは、Webサイトからコンテンツと有用なデータを抽出するプロセスです。Webスクレイピングは通常、データ収集に依存するさまざまなデジタルビジネスで使用されます。

この投稿では、Node js、Axiosクライアント、cheerioパッケージを使用してミニWebスクレイピングツールを構築する方法を段階的に説明します。

このガイドに記載されているすべての手順を理解すると、ノード環境でWebデータをスクレイピングすることに慣れることができます。

cheerio Webスクレイパースクリプトの作成を開始し、ノードjsでcheerioを使用して、本のWebサイトから特定のカテゴリのデータをスクラップする方法を理解しましょう。

Cheerioを使用してノードで非同期Webスクレイピングスクリプトを構築する方法

  • ステップ1:ノードプロジェクトを作成する
  • ステップ2: CheerioモジュールとPrettyモジュールを追加する
  • ステップ2: Axiosパッケージを追加する
  • ステップ3:サーバーファイルを作成する
  • ステップ4: Webスクレイピングスクリプトを作成する
  • ステップ5:スクレイピングスクリプトを実行する

ノードプロジェクトの作成

最初のステップでは、空のフォルダーを作成したことを確認する必要があります。

指定されたコマンドを使用して新しいフォルダを生成する方法は次のとおりです。

mkdir node-lab

プロジェクトフォルダ内に入ります。

cd node-lab

ここで、プロジェクトフォルダーに入った後、提案されたコマンドを実行します。コマンドラインツールによって要求されるすべての情報を提供するようにしてください。

npm init

CheerioとPrettyモジュールを追加する

さらに、ターミナルを再度開き、指定されたコマンドを実行して、cheerioパッケージとprettyパッケージを一緒にインストールする必要があります。

npm install cheerio pretty

Axiosパッケージを追加

このステップでは、Webスクレイパーツールを参照して非同期HTTPリクエストを作成するためのAxiosHTTPクライアントをインストールする必要があります。

npm install axios

サーバーファイルの作成

次に、server.jsファイルを作成します。このファイルに、Webスクレイピングスクリプトを作成するためのコードを追加します。

次に、package.jsonに移動し、scriptタグのほかにserver.jsファイル名を追加します。

...  
...  
"scripts": {
    "start": "node server.js"
  },
...  
...  

Webスクレイピングスクリプトを作成する

ウェブサイトからデータをスクレイピングするために、データをスクレイピングしても気にならないダミーサイトを使用しています。

次のコードをコピーして、server.jsファイルに貼り付けます。

const fs = require('fs')
const cheerio = require('cheerio')
const axios = require('axios')
const API =
  'http://books.toscrape.com/catalogue/category/books/mystery_3/index.html'
const scrapperScript = async () => {
  try {
    const { data } = await axios.get(API)
    const $ = cheerio.load(data)
    const DataBooks = $('.row li .product_pod')
    const scrapedData = []
    DataBooks.each((index, el) => {
      const scrapItem = { title: '', price: '' }
      scrapItem.title = $(el).children('h3').text()
      scrapItem.price = $(el)
        .children('.product_price')
        .children('p.price_color')
        .text()
      scrapedData.push(scrapItem)
    })
    console.dir(scrapedData)
    fs.writeFile(
      'scrapedBooks.json',
      JSON.stringify(scrapedData, null, 2),
      (e) => {
        if (e) {
          console.log(e)
          return
        }
        console.log('Scraping completed.')
      },
    )
  } catch (error) {
    console.error(error)
  }
}
scrapperScript()

スクレイピングスクリプトを実行する

これで、Webサイトからデータを取得する準備が整いました。ターミナルに移動し、ノードコマンドを入力して、Enterキーを押します。

node server.js

コマンドを実行すると、抽出されたデータがコンソール画面と、ノードプロジェクトのルートに新しく生成されたscrapedBooks.jsonファイルに表示されます。

Node Jsは、Cheerioチュートリアルを使用してWebスクレイピングスクリプトを作成します

結論

この包括的なガイドでは、ノードjsでWebスクレイパースクリプトを作成するプロセスについて説明しました。

ノードメカニズムを使用してウェブサイトからデータを抽出することを主な目的とする基本的なノードアプリを作成しました。

非同期HTTPリクエストとCheerioプラグインを使用して、他のWebサイトからデータを取得しました。

Cheerioはマークアップを解析し、結果のデータ構造をトラバース/操作するためのAPIを提供します。 

ソース:https ://www.positronx.io/node-js-create-web-scraping-script-using-cheerio-tutorial/

#cheerio #web #api #http #nodejs