私は 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 (この出力が欲しい)
誰か助けてください