1656350400
この簡単なガイドでは、cheerio、pretty、およびAxiosライブラリを使用して、ノードjsアプリケーションで非同期Webサイトスクレイピングスクリプトを作成する方法を説明します。
理想的には、Webスクレイピングは、Webサイトからコンテンツと有用なデータを抽出するプロセスです。Webスクレイピングは通常、データ収集に依存するさまざまなデジタルビジネスで使用されます。
この投稿では、Node js、Axiosクライアント、cheerioパッケージを使用してミニWebスクレイピングツールを構築する方法を段階的に説明します。
このガイドに記載されているすべての手順を理解すると、ノード環境でWebデータをスクレイピングすることに慣れることができます。
cheerio Webスクレイパースクリプトの作成を開始し、ノードjsでcheerioを使用して、本のWebサイトから特定のカテゴリのデータをスクラップする方法を理解しましょう。
最初のステップでは、空のフォルダーを作成したことを確認する必要があります。
指定されたコマンドを使用して新しいフォルダを生成する方法は次のとおりです。
mkdir node-lab
プロジェクトフォルダ内に入ります。
cd node-lab
ここで、プロジェクトフォルダーに入った後、提案されたコマンドを実行します。コマンドラインツールによって要求されるすべての情報を提供するようにしてください。
npm init
さらに、ターミナルを再度開き、指定されたコマンドを実行して、cheerioパッケージとprettyパッケージを一緒にインストールする必要があります。
npm install cheerio pretty
このステップでは、Webスクレイパーツールを参照して非同期HTTPリクエストを作成するためのAxiosHTTPクライアントをインストールする必要があります。
npm install axios
次に、server.jsファイルを作成します。このファイルに、Webスクレイピングスクリプトを作成するためのコードを追加します。
次に、package.jsonに移動し、scriptタグのほかにserver.jsファイル名を追加します。
...
...
"scripts": {
"start": "node server.js"
},
...
...
ウェブサイトからデータをスクレイピングするために、データをスクレイピングしても気にならないダミーサイトを使用しています。
次のコードをコピーして、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ファイルに表示されます。
この包括的なガイドでは、ノード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
1656350400
この簡単なガイドでは、cheerio、pretty、およびAxiosライブラリを使用して、ノードjsアプリケーションで非同期Webサイトスクレイピングスクリプトを作成する方法を説明します。
理想的には、Webスクレイピングは、Webサイトからコンテンツと有用なデータを抽出するプロセスです。Webスクレイピングは通常、データ収集に依存するさまざまなデジタルビジネスで使用されます。
この投稿では、Node js、Axiosクライアント、cheerioパッケージを使用してミニWebスクレイピングツールを構築する方法を段階的に説明します。
このガイドに記載されているすべての手順を理解すると、ノード環境でWebデータをスクレイピングすることに慣れることができます。
cheerio Webスクレイパースクリプトの作成を開始し、ノードjsでcheerioを使用して、本のWebサイトから特定のカテゴリのデータをスクラップする方法を理解しましょう。
最初のステップでは、空のフォルダーを作成したことを確認する必要があります。
指定されたコマンドを使用して新しいフォルダを生成する方法は次のとおりです。
mkdir node-lab
プロジェクトフォルダ内に入ります。
cd node-lab
ここで、プロジェクトフォルダーに入った後、提案されたコマンドを実行します。コマンドラインツールによって要求されるすべての情報を提供するようにしてください。
npm init
さらに、ターミナルを再度開き、指定されたコマンドを実行して、cheerioパッケージとprettyパッケージを一緒にインストールする必要があります。
npm install cheerio pretty
このステップでは、Webスクレイパーツールを参照して非同期HTTPリクエストを作成するためのAxiosHTTPクライアントをインストールする必要があります。
npm install axios
次に、server.jsファイルを作成します。このファイルに、Webスクレイピングスクリプトを作成するためのコードを追加します。
次に、package.jsonに移動し、scriptタグのほかにserver.jsファイル名を追加します。
...
...
"scripts": {
"start": "node server.js"
},
...
...
ウェブサイトからデータをスクレイピングするために、データをスクレイピングしても気にならないダミーサイトを使用しています。
次のコードをコピーして、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ファイルに表示されます。
この包括的なガイドでは、ノードjsでWebスクレイパースクリプトを作成するプロセスについて説明しました。
ノードメカニズムを使用してウェブサイトからデータを抽出することを主な目的とする基本的なノードアプリを作成しました。
非同期HTTPリクエストとCheerioプラグインを使用して、他のWebサイトからデータを取得しました。
Cheerioはマークアップを解析し、結果のデータ構造をトラバース/操作するためのAPIを提供します。
ソース:https ://www.positronx.io/node-js-create-web-scraping-script-using-cheerio-tutorial/