ウェブサイトworldometerからのClock - 19 Datas.PHPライブラリに関する情報:SimpleCount HMLLLUNM DOM.PHP
PHPライブラリの導入.PHP
"SimpleCount HTMLCHENT DOM . php "はPHPで書かれたHTML DOMパーサーライブラリです.無効なHTMLをサポートします.JQueryと同じようにCSSセレクタを持つHTMLページのタグを見つけ、JavaScriptのようなDOMを操作します.HTMLからコンテンツを1行で抽出します.ほとんどのWeb開発者のために学ぶのは非常に簡単です.
それはウェブサイトのクロールのための優れたツールです."SimpleCount HtmlHound DOM "のようなHTML DOMパーサーがない場合は、`` fileHound getRange Content ()"メソッドでクロール作業を行わなければなりません.このメソッドは、HTMLページ全体を文字列として返すだけで、その文字列内のタグを見つける方法をサポートしません.
JavaScriptのAMD jQueryに似たHTML DOMを見つけて操作する方法による
2 .ウェブサイトworldometerの紹介情報とそれにCOVID - 19データ.
ワルドメーター情報は、さまざまなトピックのためのカウンタとリアルタイムの統計情報を提供するリファレンスのウェブサイトです.ウェブサイトは、2014年に設立されていますが、それは2020年以来、よく日に更新され、そのタイムリーなcovid - 19の情報のために有名になっている.
ウォルドメーター情報COVI - 19データ統計を表示する
200以上の国と領域から
ウェブサイトWoldometerで.情報は、200以上の国と地域からのCOVID - 19データの統計情報を毎日更新され、表とグラフに表示されます.worldometerのすべてのデータは、パブリックであり、無限にクロールすることができます.
3 .使用してください.PHPは* worldometerからデータをクロールします.情報*
を使用します.PHPは、我々はCOVID - 19のデータケース、死、簡単に回復クロールすることができます.起動する前に、ライブラリhereのソースコードをダウンロードする必要があります.ちょうどライブラリのソースをダウンロードし、任意のフォルダに保存します.次に、“require once”コマンドでライブラリを呼び出すことができます.
その後、ページのソースコードHTMLを調べます.COVID - 19のケース、死亡、回収番号のデータを見ることができます.CSSセレクタを使用すると、“. maincounter number span”として指定できます.
それでは、SimpleMount HMLLHUNM DOMを使ってみましょう.PHPまず、HTMLページ全体を文字列でクロールします.
SimpleCount HtmlHound DOMライブラリでは、特定の国でCOVID - 19の統計情報についていくつかの基本的なデータをクロールすることができます.しかし、worldometer私たちがクロールすることができます多くの他の公共の情報があります.これらは、各国の日ごとに動かされたcovidデータの統計情報です.
ページのビューのソースを見てみましょう、各チャートがページに描かれているのを見ます.例えば、全体のケースの動員統計
それぞれのチャートの後ろには.
……データセットがある
上の2つのイメージでは、チャートがHighChart JavaScriptライブラリによって構築されたことがわかりやすく、必要な日付のデータセットは、Object Chart -> ....->にありますオブジェクト・チャートの統計の数(赤フィールド)とデータセット青いフィールド.ピュアPHPスクリプトを使用してこれらのデータセットをクロールして処理し、PHP配列で返します.
私はデモプロジェクトを構築しました、あなたは私のyoutubeの上でデモビデオを見るか、参照のためにfull source codeをダウンロードすることができます.Covidケースデータ統計の横で、このプロジェクトも、ウェブサイトOourworldinDataから国によって、Covidに対する予防接種をクロールします.COM .
"SimpleCount HTMLCHENT DOM . php "はPHPで書かれたHTML DOMパーサーライブラリです.無効なHTMLをサポートします.JQueryと同じようにCSSセレクタを持つHTMLページのタグを見つけ、JavaScriptのようなDOMを操作します.HTMLからコンテンツを1行で抽出します.ほとんどのWeb開発者のために学ぶのは非常に簡単です.
それはウェブサイトのクロールのための優れたツールです."SimpleCount HtmlHound DOM "のようなHTML DOMパーサーがない場合は、`` fileHound getRange Content ()"メソッドでクロール作業を行わなければなりません.このメソッドは、HTMLページ全体を文字列として返すだけで、その文字列内のタグを見つける方法をサポートしません.
JavaScriptのAMD jQueryに似たHTML DOMを見つけて操作する方法による
2 .ウェブサイトworldometerの紹介情報とそれにCOVID - 19データ.
ワルドメーター情報は、さまざまなトピックのためのカウンタとリアルタイムの統計情報を提供するリファレンスのウェブサイトです.ウェブサイトは、2014年に設立されていますが、それは2020年以来、よく日に更新され、そのタイムリーなcovid - 19の情報のために有名になっている.
ウォルドメーター情報COVI - 19データ統計を表示する
200以上の国と領域から
ウェブサイトWoldometerで.情報は、200以上の国と地域からのCOVID - 19データの統計情報を毎日更新され、表とグラフに表示されます.worldometerのすべてのデータは、パブリックであり、無限にクロールすることができます.
3 .使用してください.PHPは* worldometerからデータをクロールします.情報*
を使用します.PHPは、我々はCOVID - 19のデータケース、死、簡単に回復クロールすることができます.起動する前に、ライブラリhereのソースコードをダウンロードする必要があります.ちょうどライブラリのソースをダウンロードし、任意のフォルダに保存します.次に、“require once”コマンドでライブラリを呼び出すことができます.
その後、ページのソースコードHTMLを調べます.COVID - 19のケース、死亡、回収番号のデータを見ることができます.CSSセレクタを使用すると、“. maincounter number span”として指定できます.
それでは、SimpleMount HMLLHUNM DOMを使ってみましょう.PHPまず、HTMLページ全体を文字列でクロールします.
$html_raw = file_get_html($url);
// file_get_html() method is assigned by simple_html_dom.php
Simpledent HTMLHUNT DOMPHPはCSSセレクタを介して簡単に指定クラスの内容を取得できます. $this->data_ncov->cases = $html_raw
->find(".maincounter-number span")[0]-> innertext();
// => The first dom element found contains Covid cases number
$this->data_ncov->death = $html_raw
->find(".maincounter-number span")[1]-> innertext();
// => The second dom element found contains Covid deaths number
$this->data_ncov->recovered = $html_raw
->find(".maincounter-number span")[2]-> innertext();
// => The third dom element found contains Covid recovered number
4 . worldometerからより多くのデータ統計をクロールし続けてください.情報SimpleCount HtmlHound DOMライブラリでは、特定の国でCOVID - 19の統計情報についていくつかの基本的なデータをクロールすることができます.しかし、worldometer私たちがクロールすることができます多くの他の公共の情報があります.これらは、各国の日ごとに動かされたcovidデータの統計情報です.
ページのビューのソースを見てみましょう、各チャートがページに描かれているのを見ます.例えば、全体のケースの動員統計
それぞれのチャートの後ろには.
……データセットがある
上の2つのイメージでは、チャートがHighChart JavaScriptライブラリによって構築されたことがわかりやすく、必要な日付のデータセットは、Object Chart -> ....->にありますオブジェクト・チャートの統計の数(赤フィールド)とデータセット青いフィールド.ピュアPHPスクリプトを使用してこれらのデータセットをクロールして処理し、PHP配列で返します.
// find the dataset with the specified string of Highchart object
$index_chart_begin =
strpos($html_entities,
"Highcharts.chart('coronavirus-cases-linear'");
// get the arrays of days (for the horizontal Axis)
$index_xAxis_begin = strpos($html_entities,
"xAxis", $index_chart_begin);
$xAxis_index_bracket_open = strpos($html_entities,
'[', $index_xAxis_begin);
$xAxis_index_bracket_close =
strpos($html_entities,']', $xAxis_index_bracket_open);
$string_xAxis = substr(
$html_entities,
$xAxis_index_bracket_open + 1,
$xAxis_index_bracket_close - $xAxis_index_bracket_open - 1
);
$string_xAxis = str_replace('"', '', $string_xAxis);
$string_xAxis = str_replace(', ', '/', $string_xAxis);
$array_xAxis = explode(',', $string_xAxis);
// get the arrays of number of stats
$index_data_begin = strpos($html_entities, "data",
$index_chart_begin);
$data_index_bracket_open = strpos($html_entities, '[',
$index_data_begin);
$data_index_bracket_close = strpos($html_entities, ']',
$data_index_bracket_open);
$string_data = substr(
$html_entities,
$data_index_bracket_open + 1,
$data_index_bracket_close - $data_index_bracket_open - 1
);
$array_data = explode(',', $string_data);
// Then display them in a array in pairs
//(day => number of stats)
$return_array= array();
for ($i = 0; $i < count($array_xAxis ); $i++) {
array_push($return_array,
array($array_xAxis[$i] => $array_data[$i]));
}
最後に、JSONRUNEエンコード機能を使用して、JSON文字列に配列を変換できます.そして、あなたは日、死ケース、日の新しい死、および回収されたケースで新しいケースの動員データ統計をクロールするのと同じです.私はデモプロジェクトを構築しました、あなたは私のyoutubeの上でデモビデオを見るか、参照のためにfull source codeをダウンロードすることができます.Covidケースデータ統計の横で、このプロジェクトも、ウェブサイトOourworldinDataから国によって、Covidに対する予防接種をクロールします.COM .
Reference
この問題について(ウェブサイトworldometerからのClock - 19 Datas.PHPライブラリに関する情報:SimpleCount HMLLLUNM DOM.PHP), 我々は、より多くの情報をここで見つけました https://dev.to/minhkhoi/crawl-covid-19-datas-from-website-worldometer-info-with-php-library-simplehtmldom-php-2i88テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol