我正在尝试使用cURL抓住一个外部网页进入我自己的网站,它基本上是一个体育团队的“阶梯”,我联系了他们,但是他们没有梯形图的RSS提要,所以我试图通过其他方式获得阶梯,是否有可能抓住<表>和< / table>使用cURL?我可以使用以下代码获取我想要的页面,但除了HTML表格之外我不需要任何其他内容。
$ch = curl_init ("http://www.sportingpulse.com/rpt_ladder.cgi?results=N&round=15&client=1-3909-47801-81021-6151461&pool=-1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $page = curl_exec($ch);
如果有人可以帮助我,那就太好了。感谢
李亚男
答案 0 :(得分:5)
好的,所以我设法让它使用它(如果有其他人想知道的话)
$ch = curl_init ("http://www.sportingpulse.com/rpt_ladder.cgi?results=N&round=15&client=1-3909-47801-81021-6151461&pool=-1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
preg_match('#<table[^>]*>(.+?)</table>#is', $page, $matches);
foreach ($matches as &$match) {
$match = $match;
}
echo '<table>';
echo $matches[1];
echo '</table>';
:)
答案 1 :(得分:2)
您需要使用curl来获取页面内容和字符串处理,以便从返回的字符串中提取表格。
一个简单的正则表达式将是:
/<table>(.*)<\/table/s
因此,如果您采用上述示例,您可以执行以下操作:
$page = curl_exec($ch);
if (preg_match("/<table>(.*)<\/table/s", $page, $matches)) {
echo $matches[1];
}
此代码将与页面上的第一个表匹配。您需要调整它以匹配您要提取的HTML。
答案 2 :(得分:1)
纯正则表达式的另一种选择是使用DOMDocument和xPath。这会将整个文档转换为对象,并使表格的内容更容易处理