如何从其他网站上的统计信息表中获取文本


How to get text from a stat table on another website

我想从这个页面抓取文本:http://blues.nhl.com/club/player.htm?id=8455710,特别是"Win"类别和"OT"类别中的数字,然后取我得到的数字,将 Win 数字乘以 20,000,OT 乘以 10,000,将它们加在一起并显示结果。

我这样做的原因是,统计数据所针对的守门员(马蒂·布罗德尔)每获得一分就能获得 10,000 美元的奖金,因此获胜 20K(2 分)和 10K 输球(1 分)。

我认为代码将是类似的。

<?php 
  $get_file_contents( "http://blues.nhl.com/club/player.htm?id=8455710" );
  $item ['wins'] = (path-to-object);
  $item ['OT'] = (path-to-object);
  $item ['wins'] * 20,000 = $item ['win_bonus'];
  $item ['OT'] * 10,100 = $item ['OT_bonus'];
  $item ['win_bonus'] + $item ['OT_bonus'] = $item ['bonus'];
  ?> 
<?php echo( '<h2>$item['bonus']</h2>'); ?>

您可以使用 PHP Simple HTML DOM 解析 URL,然后找到 XPath(您可以使用 Chrome 调试并选择所需的项目来查找 XPath)。

从这里下载简单的HTML DOM PHP文件,然后使用以下PHP代码:

<?php
include 'simple_html_dom.php';
$page = file_get_html('http://blues.nhl.com/club/player.htm?id=8455710');
$win = $page->find('//*[@id="wideCol"]/div[4]/div/div/table[1]/tbody/tr[2]/td[3]', 0)->plaintext;
$OT = $page->find('//*[@id="wideCol"]/div[4]/div/div/table[1]/tbody/tr[2]/td[5]', 0)->plaintext;
echo("Win: " . $win . PHP_EOL);
echo("OT: " . $OT . PHP_EOL);
?>