1

私が達成したいことは少しハードコアかもしれませんが、それが可能かどうか知りたいです:

質問:
私の質問はPHP-Retrieve content from pageと同じですが、複数のページで使用したいと考えています。

状況:
テレビ番組に関する Web サイトを使用しています。すべてのテレビ番組の URL と番組名は同じ
です
。その行を取得して、キャンセルされたショーの概要を作成したい (Web サイトは実行中のショーの概要のみをサポートしているため、追加の機能を作成したい)。

本当の質問:
DOM にすべての番組を取得して番組のステータスを確認するように指示するにはどうすればよいでしょうか? ( http://bierdopje.com/shows/ *).

注:
このプロセスは Web サイト全体を読み取っているため (またはデータが多すぎますか?)、時間がかかる場合があることを理解しています。

4

2 に答える 2

2

このコードを使用して、1 つの Web サイトからリンクのみを取得します。

include_once('simple_html_dom.php');

$html = file_get_html('http://www.couponrani.com/');

// Find all links
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';
于 2016-06-03T10:23:07.990 に答える
0

Dom の jQuery のように、phpqueryを使用して Web ページからデータをフェッチします。

たとえば、すべての番組のリストを取得するには、次のようにします。

<?php
require_once 'phpQuery/phpQuery/phpQuery.php';

$doc = phpQuery::newDocumentHTML(
    file_get_contents('http://www.bierdopje.com/shows')
);

foreach (pq('.listing a') as $key => $a) {

    $url = pq($a)->attr('href'); // will give "/shows/07-ghost"
    $show = pq($a)->text(); // will give "07 Ghost"

} 

これで、すべてのショーを個別に処理し、ショーごとに新しい phpQuery::newDocumentHTML を作成し、必要な情報をセレクターで抽出できます。


ショーのステータスを取得する

$html = file_get_contents('http://www.bierdopje.com/shows/alcatraz');
$doc = phpQuery::newDocumentHTML($html);

$status = pq('.content>span:nth-child(6)')->text();
于 2013-05-13T11:49:23.263 に答える