如何使用Simple HTML Dom将值输入到html标签中?

时间:2016-02-21 19:49:55

标签: php html web-scraping

我正在从表格中抓取一些值,但是我有问题从数据奇数(“赔率”和“赔率最佳”作为类)获取值到td标记。

我将发布代码:

<tr class="first-row">
    <td class="first-cell tl">
        <a href="../matchdetails.php?matchid=dGifTQkE" onclick="win(this.href, 560, 500, 0, 1); return false;">Kortrijk - St. Truiden</a>
    </td>
    <td class="result">
        <a href="../matchdetails.php?matchid=dGifTQkE" onclick="win(this.href, 560, 500, 0, 1); return false;">3:0</a>
    </td>
    <td class="odds best-betrate" **data-odd="1.72"**></td>
    <td class="odds" **data-odd="3.61"**></td>
    <td class="odds" **data-odd="4.76"**></td>
    <td class="last-cell nobr date">20.02.2016</td>
</tr>
<tr class="strong">
    <td class="first-cell tl">
        <a href="../matchdetails.php?matchid=ADWJ4sDD" onclick="win(this.href, 560, 500, 0, 1); return false;">Lokeren - Genk</a>
    </td>
    <td class="result">
        <a href="../matchdetails.php?matchid=ADWJ4sDD" onclick="win(this.href, 560, 500, 0, 1); return false;">0:0</a>
    </td>
    <td class="odds" **data-odd="3.11"**></td>
    <td class="odds best-betrate" **data-odd="3.31"**></td>
    <td class="odds" **data-odd="2.25"**></td>
    <td class="last-cell nobr date">20.02.2016</td>
</tr>

我知道如何在标签之间获取值,我使用Simple HTML Dom获取它们,但我真的不知道如何获得有关“数据奇怪”的值。在我的代码中,您可以看到我想要的粗体值得到。

谢谢:)

编辑:现在我得到了这个结果(见下图): enter image description here

我希望这些值与其他值一起,例如:

2016年2月21日 Waasland-Beveren - Anderlecht 1:0 5.96 4.20 1.51

2016年2月21日 Waregem - KV Mechelen 2:3 1.83 3.71 3.98

再次感谢!

EDIT2: 这是我的代码:

    <?php
include('../simple_html_dom.php');

$html = file_get_html('http://www.betexplorer.com/soccer/belgium/jupiler-league/results/');


foreach($html->find('td') as $e) {
    echo $e->innertext . '<br>';

 }   


foreach( $html->find('td[data-odd]') as $td )
{
    echo $td->attr['data-odd'].PHP_EOL;
}
?>

1 个答案:

答案 0 :(得分:0)

如评论中所述,data-odd是节点的属性,因此要使用 simple_html_dom 检索其值,您必须使用以下语法:

foreach( $html->find('td[data-odd]') as $td )
{
    echo $td->attr['data-odd'].PHP_EOL;
}