ホームページ > バックエンド開発 > PHPチュートリアル > 単純なHTML DOMライブラリを使用したHTML解析とスクリーンスクレイピング

単純なHTML DOMライブラリを使用したHTML解析とスクリーンスクレイピング

Lisa Kudrow
リリース: 2025-02-28 10:50:16
オリジナル
793 人が閲覧しました

このチュートリアルは、正規表現の複雑さを回避して、オープンソースパーサーを使用してHTMLを効率的に解析する方法を示しています。 Envato Tutsを例として削り、記事のタイトルと説明を抽出します。 これは実例のためです。ウェブサイトを削る前に、常に許可を得ることを忘れないでください


    セットアップ
  1. PHPパッケージマネージャーであるComposerをインストールすることから始めて、ライブラリのインストールを簡素化します。

さらに手順を以下に詳しく説明しています。HTML Parsing and Screen Scraping With the Simple HTML DOM Library

ドキュメント

包括的なドキュメントは、プロジェクトの公式GitHubリポジトリで入手できます。

---

HTML Parsing and Screen Scraping With the Simple HTML DOM Library 実用的なアプリケーション:scraping envato tuts

  1. envato tutsから記事のタイトルと説明を抽出するスクリプトを作成しましょう。 これはデモであり、許可なく実行されるべきではありません。 スクレイピングはサーバーを過負荷にする可能性があります。

コアコードスニペット:

HTML Parsing and Screen Scraping With the Simple HTML DOM Library

これには、必要なライブラリが含まれ、記事データを保存する配列を初期化します。

関数(後で定義)は、Webページを取得して処理します。

use voku\helper\HtmlDomParser;
require_once 'vendor/autoload.php';

$articles = [];
getArticles('https://code.tutsplus.com/tutorials');
ログイン後にコピー

getArticlesデータ抽出


  1. スクリプトの中心は記事情報を抽出します:

  2. これは、各記事要素(
)を繰り返し、CSSセレクターを使用してタイトルと説明を抽出します。 各

エントリには、タイトルと説明ペアが含まれます。 たとえば、

$items = $html->find('article');
foreach($items as $post) {
    $articles[] = [
        /* title */ $post->findOne(".posts__post-title")->firstChild()->text(),
        /* description */ $post->findOne("posts__post-teaser")->text()
    ];
}
ログイン後にコピー

<article> $articles

ページネーションの取り扱い
$articles[0][0] = "My Article Name Here";
$articles[0][1] = "This is my article description";
ログイン後にコピー

  1. 複数のページを処理するには、「次の」ページリンクを識別します。

関連するhtml:

HTML Parsing and Screen Scraping With the Simple HTML DOM Library HTML Parsing and Screen Scraping With the Simple HTML DOM Library スクリプトはこのリンクを見つけ、HTML Parsing and Screen Scraping With the Simple HTML DOM Library 属性を抽出し、後続のページに再帰的に呼び出します。 重要なことに、

オブジェクトはメモリの疲労を防ぐためにクリアされます。


結論

大きなWebサイトの解析には時間がかかる場合があります。 このチュートリアルは、ユーザーフレンドリーなライブラリを使用したHTML解析の基盤を提供します。 このライブラリは便利ですが、XPathによるPHPの組み込みDOM操作など、他の方法が存在することを忘れないでください。 Webサイトを削る前に、常に許可を取得することを常に優先順位付けしてください。

以上が単純なHTML DOMライブラリを使用したHTML解析とスクリーンスクレイピングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート