我正試圖使用PHP將此外部表格數據導入到數組/ JSON中。我可以使用XPath和td等來做到這一點,但是,數據每週都會變化一點,並將所有內容都擰緊......是否有一種很好的方式來獲取這些信息並根據玩家的意願使用條件語句來顯示適當的值名稱?這裏是鏈接到表See Here將第三方表格數據拉入數組/ json
我想獲得像
Player name:
GAMES:
MPR:
PPR:
Player name:
GAMES:
MPR:
PPR:
etc...
如果任何人都可以給我一隻手或點我在正確的方向,我將不勝感激!這讓我瘋狂,如果有必要,我甚至會付錢。
謝謝!
這裏是我當前的代碼
$urll = 'http://www.leagueleader.net/sharedreport.php?operatorid=98&code=1928e435-8dbe-450f-8bca-74f603f892f0';
$options = array (
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0", // something like Firefox
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$curl = curl_init($urll);
curl_setopt_array($curl, $options);
$content = curl_exec($curl);
curl_close($curl);
$dom = new DOMDocument();
@$dom->loadHTML($content);
$xpath = new DOMXPath($dom);
$tabless = $dom->getElementsByTagName('tbody');
$rows = $tabless->item(0)->getElementsByTagName('tr');
foreach ($rows as $roww)
{
$colss = $roww->getElementsByTagName('td');
//$player = $cols->item(0)->nodeValue; $pstats[$i]['player'] = trim($player);
//$percentage = $cols->item(1)->nodeValue; $pstats[$i]['gamesplayed'] = trim($percentage);
$cricket = $colss->item(2)->nodeValue; $pstats[$j]['cricket'] = trim($cricket);
$o1 = $colss->item(3)->nodeValue; $pstats[$j]['01'] = trim($o1);
$j++;
}
請顯示您的當前代碼,也許有人可以建議如何更改它。而不是爲你寫代碼。 –
做一些關於「用PHP抓取HTML」的研究([這裏是一個教程例子](http://wern-ancheta.com/blog/2013/08/07/getting-started-with-web-scraping-in- PHP /)),看看你自己寫代碼的地方。堆棧溢出用於調試,而不是獲取爲您編寫的所有代碼。 –
如果他們改變了他們的結構,如果他們沒有一些標準的JSON或XML可以訪問,那麼你每次都必須進行更改。如果您認爲這將是他們始終生成的輸出,並且沒有其他可靠的方式來獲取他們的數據,請考慮PHP的[DOMDocument](http://php.net/manual/en/class.domdocument.php) 。 – PHPglue