0

请先访问:http ://www.sportingpulse.com/comp_info.cgi?c=1-5917-0-232432-0&a=STATS&sgroup=floor

这更像是一个“这甚至可能的类型问题”。我创建了一个小脚本来从体育网站提取数据。

$url = "http://www.sportingpulse.com/comp_info.cgi?c=1-5917-0-232432-0&a=STATS&sgroup=floor";

preg_match_all('#<table[^>]+>[\w\W]*?</table>#i', file_get_contents($url), $match);
$tableone = $match[0][0];
$tabletwo = $match[0][1];

$tableone1 = preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/', "\\2", $tableone);
echo $tableone1;

这很好用,并将所有表格数据放入我的网站,但我想知道是否有可能只获得团队 SOL 结果而不是每个人的结果?

谁能指出我正确的方向,我唯一能想到的就是寻找“SOL”然后以某种方式抓住它后面的tr?

谢谢

4

3 回答 3

2

尝试这个

$url = "http://www.sportingpulse.com/comp_info.cgi?c=1-5917-0-232432-0&a=STATS&sgroup=floor";
$str = file_get_contents($url);
$doc = @DOMDocument::loadHTML($str);
$xpath = new DOMXPath($doc);
$entries = $xpath->query('//html/body/div[@id="site-wrap"]/div[@id="content-wrap"]/div[@id="col-1-2-wrap"]/div[@id="content"]/div[@class="tableContainer"]/div/table/tbody/tr[td[2]/a/text()="SOL"]');
echo '<table>';
foreach($entries as $entry) {
  echo($doc->saveXML($entry));
}
echo '</table>';
于 2012-11-12T15:28:59.633 回答
1

抱歉,我不能让这个更完整,但我要上飞机了。试试这个开始:

$url = "http://www.sportingpulse.com/comp_info.cgi?c=1-5917-0-232432-0&a=STATS&sgroup=floor";
$html = file_get_contents($url);
$doc = DOMDocument::loadHTML($html);

$xpath = new DOMXPath($doc);

$query = "/your/xpath/query/here";

$entries = $xpath->query($query);

查看此链接以获取有关 xpath 查询的详细信息。 http://php.net/manual/en/domxpath.query.php 另一个很好的参考:http ://www.w3schools.com/xpath/xpath_syntax.asp

登陆后我会回来查看并添加更多细节。

于 2012-11-12T15:04:30.667 回答
0

我使用http://simplehtmldom.sourceforge.net/来处理类似的事情。然后,您可以遍历该表中的每个 tr 并检查第二个 td(在您的情况下)的链接是否为 == SOL。如果是这样,您可以从下一个 tds 读取数据。请参阅http://simplehtmldom.sourceforge.net/manual.htm。如果您需要进一步的帮助,我可以给您一个代码示例。

最好的问候斯蒂芬S。

于 2012-11-12T15:04:22.683 回答