ホームページ > バックエンド開発 > PHPチュートリアル > phpQuery を使用して Web コンテンツを簡単に収集する

phpQuery を使用して Web コンテンツを簡単に収集する

WBOY
リリース: 2016-06-13 12:12:37
オリジナル
948 人が閲覧しました

phpQuery を使用して Web コンテンツを簡単に収集する

phpQuery は、PHP に基づくサーバー側のオープン ソース プロジェクトであり、PHP 開発者がニュース Web サイトのヘッドライン情報を取得するなど、DOM ドキュメント コンテンツを簡単に処理できるようにします。さらに興味深いのは、jQuery の考え方を使用していることです。jQuery を使用するのと同じようにページのコンテンツを処理して、必要なページ情報を取得できます。

見出しの収集

まず例を見てみましょう。コードは次のとおりです:

<span style="color: #0000ff;">include</span> 'phpQuery/phpQuery.php'<span style="color: #000000;">; phpQuery</span>::newDocumentFile('http://news.sina.com.cn/china'<span style="color: #000000;">); </span><span style="color: #0000ff;">echo</span> pq(".blkTop h1:eq(0)")->html(); 
ログイン後にコピー

シンプル 3 行のコードで見出しの内容を取得できます。まず、プログラムに phpQuery.php コア プログラムを組み込み、次に対象の Web ページを呼び出して読み取り、最後に対応するタグの下にコンテンツを出力します。

pq() は、jQuery の $() と同様に、基本的に phpQuery で使用できる強力なメソッドです。「.」を「->」に変更するだけです。上の例のように、pq(".blkTop h1:eq(0)") は、ページ上の class 属性が blkTop である DIV 要素をキャプチャし、DIV 内の最初の h1 タグを見つけて、html() メソッドを使用してh1 タグを取得する コンテンツ (html タグ付き) は取得したい見出し情報です。 text() メソッドを使用すると、見出しのテキスト コンテンツのみが取得されます。もちろん、phpQuery をうまく使用するには、ドキュメント内で対応するコンテンツを持つノードを見つけることが重要です。

記事リストを収集

helloweba.com Web サイトのブログ リストを取得する別の例を見てみましょう。コードを参照してください:

<span style="color: #0000ff;">include</span> 'phpQuery/phpQuery.php'<span style="color: #000000;">; phpQuery</span>::newDocumentFile('http://www.helloweba.com/blog.html'<span style="color: #000000;">); </span><span style="color: #800080;">$artlist</span> = pq(".blog_li"<span style="color: #000000;">); </span><span style="color: #0000ff;">foreach</span>(<span style="color: #800080;">$artlist</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$li</span><span style="color: #000000;">){    </span><span style="color: #0000ff;">echo</span> pq(<span style="color: #800080;">$li</span>)->find('h2')->html().""<span style="color: #000000;">; } </span>
ログイン後にコピー

リスト内の DIV をループして、記事のタイトルを見つけて出力するだけです。とても簡単です。

XML ドキュメントを解析します

次のような test.xml ドキュメントがあるとします:

<?xml version="1.0" encoding="utf-8"?> <root>   <contact>      <name>张三</name>      <age>22</age>   </contact>   <contact>      <name>王五</name>      <age>18</age>   </contact> </root> 
ログイン後にコピー

次に、Zhang の名前を取得したいとします。 San 連絡先の年齢、コードは次のとおりです:

<span style="color: #0000ff;">include</span> 'phpQuery/phpQuery.php'<span style="color: #000000;">; phpQuery</span>::newDocumentFile('test.xml'<span style="color: #000000;">); </span><span style="color: #0000ff;">echo</span> pq('contact > age:eq(0)'); 
ログイン後にコピー

結果出力: 22

jQuery と同様に、ドキュメント ノードを正確に検索し、コンテンツを出力しますノードの下で XML ドキュメントを解析するのは非常に簡単です。 phpQuery を使用すると、Web サイトのコンテンツを収集するために通常のアルゴリズムやコンテンツの置換などの面倒なコードを使用する必要がなくなります。

プロジェクト公式 Web サイトのアドレス: http://code.google.com/p/phpquery/

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