我正在嘗試從此頁面獲取分數表http://www.skysports.com/football/competitions/bundesliga/table。我這樣做與無法從其他頁面獲取確切值
$bundes = file('http://www.skysports.com/football/competitions/bundesliga/table');
,當我嘗試顯示數組$ bundes我這個做:
echo '<pre>', print_r($bundes), '</pre>';
代碼巫婆我嘗試做顯示器顯示如下:
[1437] =>
[1022] => German Bundesliga 2015/16
# Team Pl W D L F A GD Pts Last 6
1 [1059] => [1060] => Bayern Munich [1061] => [1062] => 9 9 0 0 29 4 25 27 [1072] =>
[1073] =>
[1074] =>
這是表格的第一行。現在我可以顯示$ bundes [1060],並且我得到了拜耳慕尼黑的輸出,但是如何從$ bundes獲得值[1062],值是9,9,0,0,29,4,25和27?我需要在<td></td>
中顯示每個這個值當我嘗試echo $ bundes [1062]我什麼也沒有得到。
$doc = new \DOMDocument();
@$doc->loadHTMLFile('http://www.skysports.com/football/competitions/bundesliga/table');
$xpath = new \DOMXPath($doc);
$rows = $xpath->query('//tbody/tr');
$data = [];
foreach ($rows as $i => $row) {
$columns = $xpath->query('td', $row);
foreach ($columns as $column) {
$data[$i][] = trim($column->textContent);
}
}
print_r($data);
它給你:
'file()'將讀取輸入並將每個換行符分隔的字符串存儲到作爲結果返回的數組中。你不能指望skysports把新線路放在對你很重要的地方;如果要在不使用適當的數據格式(如JSON)的情況下進行挖掘,則必須對數據進行更智能的分析。 – klaar
不要。它違反了條款 – 2015-10-20 09:21:15