1

私は php と dom パーサーを初めて使用します。複数の URL からセルのコンテンツを取得したいと考えています。

1 つの URL からテーブル要素をうまく取得できます。

これが私のコードです:

<?php  
include('../simple_html_dom.php');  
$str = file_get_html("http://www.link1.com/");  
$html = str_get_html($str);  
 $tds = $html->find('table',1)->find('td');  
 $num = null;  
 foreach($tds as $td){   
if($td->plaintext == '123 - xyz'){  
       $next_td = $td->next_sibling();  
        $next_td1 = $next_td->next_sibling();  
        $next_td2 = $next_td1->next_sibling();  
        $next_td3 = $next_td2->next_sibling();  
        $num = $next_td3->plaintext ;   
        break;   
     }  
 }  
 echo($num);  
?>

コンテンツ 2 テーブルを指定した URL、他の 3 つの URL ( http://www.link2.com/など) もコンテンツ 2 テーブルを指定したい 配列を使用してこれらのコードをループする必要があることを願っています

誰か私が撃ち落とすのを手伝ってください


4日後、私は自分の要件に近いものを見つけましたが、最後には到達できませんでした....

 <?php  
    ini_set('max_execution_time', 300);  
    include('../simple_html_dom.php');  
    $links = array (  
    'https://www.link1.com',  
'https://www.link2.com',   
'https://www.link3.com', 
    'https://www.link4.com');  
    $data = array();  
    foreach ($links as $link){  
    $str = file_get_html("$link");  
    $html = str_get_html($str);  
     $tds = $html->find('table',1)->find('td');  
     $num = null;  
     foreach($tds as $td){  
         if($td->plaintext == '123 - xyz'){ 
            $next_td = $td->next_sibling();  
            $next_td1 = $next_td->next_sibling();  
            $next_td2 = $next_td1->next_sibling();  
            $next_td3 = $next_td2->next_sibling();  
            $num = $next_td3->plaintext ;    
            break;   
         }  
     }  
     //echo($num." ");  
    $data[] = $num;  
    $str->clear();  
    } 
    print_r($data);  
    ?> 

出力は次のようなものです
Array ( [0] => 10.11 [1] => 10.07 [2] => 9.37 [3] => 11.43 ) データ配列の要素を追加したい。配列要素は時間です。これらの要素を時間として追加したいと思います。 10.11 10.07 9.37 11.43
のように



41:38 (この出力が欲しい)
誰か助けてください

4

0 に答える 0