Php 简单的HTMLDOM解析器忽略表

Php 简单的HTMLDOM解析器忽略表,php,parsing,html-parsing,simple-html-dom,html-parser,Php,Parsing,Html Parsing,Simple Html Dom,Html Parser,我试图解析一个包含阿根廷上次总统选举结果的特定表格。HTML包含24个包含每个省份的特定数据,然后是另外两个表。我正在尝试解析第25个表 当我解析前24个表中的一个时,简单的HTMLDOM解析器可以完美地工作,但由于某些原因,它在第25个表中不起作用。这些表的结构几乎相同,所以我怀疑这与此有关 表格的HTML格式: 表24 <table> <thead> <tr> <th colspan='2' class='nombre

我试图解析一个包含阿根廷上次总统选举结果的特定表格。HTML包含24个包含每个省份的特定数据,然后是另外两个表。我正在尝试解析第25个表

当我解析前24个表中的一个时,简单的HTMLDOM解析器可以完美地工作,但由于某些原因,它在第25个表中不起作用。这些表的结构几乎相同,所以我怀疑这与此有关

表格的HTML格式: 表24

 <table>
 <thead>
     <tr>
         <th colspan='2' class='nombre'>San Luis</th>
     </tr>
 </thead>
 <tbody>
     <tr>
         <td>Mesas totales</td>
         <td class='mestot'>1.129</td>
     </tr>
     <tr>
         <td>Mesas escrutadas</td>
         <td class='mesesc'>1.099</td>
     </tr>
     <tr>
         <td>% mesas escrutadas</td>
         <td class='pmesesc'>97,34%</td>
     </tr>
 </tbody>

圣路易斯
台面总数
1.129
苔藓
1.099
%苔藓
97,34%

表25

<table id='tablaagrupaciones'>
<colgroup>
    <col width='70%' />
    <col width='15%' />
    <col width='15%' />
</colgroup>
<thead>
    <tr>
        <th class='literal'>Agrupaciones políticas / Fórmulas</th>
        <th class='literal' colspan='2'>Votos</th>
    </tr>
</thead>
<tbody>
    <tr class='r1 agrup'>
        <td class='denom'>ALIANZA FRENTE PARA LA VICTORIA </td>
        <td class='vot'>8.424.749</td>
        <td class='pvot'>38,41%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>SCIOLI, DANIEL OSVALDO - ZANNINI, CARLOS ALBERTO </td>
        <td class='vot'>8.424.749</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r2 agrup'>
        <td class='denom'>ALIANZA CAMBIEMOS </td>
        <td class='vot'>6.595.914</td>
        <td class='pvot'>30,07%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>MACRI, MAURICIO - MICHETTI, MARTA GABRIELA </td>
        <td class='vot'>5.325.990</td>
        <td class='pvot'>80,75%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>SANZ, ERNESTO RICARDO - LLACH, LUCAS </td>
        <td class='vot'>756.777</td>
        <td class='pvot'>11,47%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>CARRIO, ELISA MARIA AVELINA - FLORES, HECTOR ANTONIO </td>
        <td class='vot'>513.147</td>
        <td class='pvot'>7,78%</td>
    </tr>
    <tr class='r1 agrup'>
        <td class='denom'>ALIANZA UNIDOS POR UNA NUEVA ALTERNATIVA (UNA) </td>
        <td class='vot'>4.525.497</td>
        <td class='pvot'>20,63%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>MASSA, SERGIO TOMAS - RUBERTO SAENZ, GUSTAVO ADOLFO </td>
        <td class='vot'>3.121.589</td>
        <td class='pvot'>68,98%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>DE LA SOTA, JOSE MANUEL - RUCCI, CLAUDIA MONICA </td>
        <td class='vot'>1.403.908</td>
        <td class='pvot'>31,02%</td>
    </tr>
    <tr class='r2 agrup'>
        <td class='denom'>ALIANZA PROGRESISTAS </td>
        <td class='vot'>769.316</td>
        <td class='pvot'>3,51%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>STOLBIZER, MARGARITA ROSA - OLAVIAGA, MIGUEL ANGEL </td>
        <td class='vot'>769.316</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r1 agrup'>
        <td class='denom'>ALIANZA FRENTE DE IZQUIERDA Y DE LOS TRABAJADORES </td>
        <td class='vot'>726.054</td>
        <td class='pvot'>3,31%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>DEL CAÑO, NICOLAS - BREGMAN, MYRIAM TERESA </td>
        <td class='vot'>370.764</td>
        <td class='pvot'>51,07%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>ALTAMIRA, JORGE - GIORDANO, JUAN CARLOS </td>
        <td class='vot'>355.290</td>
        <td class='pvot'>48,93%</td>
    </tr>
    <tr class='r2 agrup'>
        <td class='denom'>ALIANZA COMPROMISO FEDERAL </td>
        <td class='vot'>462.304</td>
        <td class='pvot'>2,11%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>RODRIGUEZ SAA, ADOLFO - NEGRE DE ALONSO, LILIANA TERESITA </td>
        <td class='vot'>462.304</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r1 agrup'>
        <td class='denom'>ALIANZA FRENTE POPULAR </td>
        <td class='vot'>109.141</td>
        <td class='pvot'>0,50%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>DE GENNARO, VICTOR NORBERTO - CODONI, EVANGELINA SOLEDAD </td>
        <td class='vot'>109.141</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r2 agrup'>
        <td class='denom'>MOVIMIENTO AL SOCIALISMO </td>
        <td class='vot'>102.969</td>
        <td class='pvot'>0,47%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>CASTAÑEIRA, MANUELA JIMENA - AYALA, JORGE LUIS </td>
        <td class='vot'>102.969</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r1 agrup'>
        <td class='denom'>MST - NUEVA IZQUIERDA </td>
        <td class='vot'>96.414</td>
        <td class='pvot'>0,44%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>BODART, HUGO ALEJANDRO - RIPOLL, VILMA ANA </td>
        <td class='vot'>96.414</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r2 agrup'>
        <td class='denom'>PARTIDO POPULAR </td>
        <td class='vot'>82.900</td>
        <td class='pvot'>0,38%</td>
    </tr>
    <tr class='r2 lista'>
        <td class='denom'>YATTAH, MAURICIO JORGE - MORETTA, MARIA BELEN </td>
        <td class='vot'>82.900</td>
        <td class='pvot'>100%</td>
    </tr>
    <tr class='r1 agrup'>
        <td class='denom'>MOVIMIENTO DE ACCION VECINAL </td>
        <td class='vot'>41.214</td>
        <td class='pvot'>0,17%</td>
    </tr>
    <tr class='r1 lista'>
        <td class='denom'>ALBARRACIN, RAUL HUMBERTO - DIB, GASTON </td>
        <td class='vot'>41.214</td>
        <td class='pvot'>100%</td>
    </tr>
</tbody>

波兰农业合作社/Fórmulas
Votos
维多利亚广场酒店
8.424.749
38,41%
肖利,丹尼尔·奥斯瓦尔多-赞尼尼,卡洛斯·阿尔贝托
8.424.749
100%
阿利安扎·坎比莫斯
6.595.914
30,07%
马克里,莫里西奥-米切蒂,玛尔塔·加布里埃拉
5.325.990
80,75%
桑兹,埃内斯托·里卡多·拉赫,卢卡斯
756.777
11,47%
卡里奥,伊丽莎玛丽亚·阿维利娜-弗洛雷斯,赫克托·安东尼奥
513.147
7,78%
新的替代方案(联合国)
4.525.497
20,63%
马萨,塞尔吉奥·托马斯-鲁贝托·萨恩斯,古斯塔沃·阿道夫
3.121.589
68,98%
德拉索塔,何塞·曼努埃尔·鲁奇,克劳迪娅·莫妮卡
1.403.908
31,02%
阿利安扎·普格瑞斯塔斯酒店
769.316
3,51%
斯多比、玛格丽塔·罗莎·奥拉维亚加、米格尔·安吉尔
769.316
100%
伊兹奎尔达和特拉巴贾多雷斯阵线
726.054
3,31%
德尔卡尼奥、尼古拉斯·布雷格曼、米里亚姆·特里萨
370.764
51,07%
阿尔塔米拉、乔治·乔丹诺、胡安·卡洛斯
355.290
48,93%
阿利安扎联邦妥协
462.304
2,11%
罗德里格斯·萨阿、阿道夫·内格罗·德阿隆索、莉莉安娜·特蕾西塔
462.304
100%
阿利安扎流行阵线
109.141
0,50%
德根纳罗、维克多·诺贝托·科多尼、伊万杰丽娜·索莱达
109.141
100%
社会运动
102.969
0,47%
卡斯塔尼埃拉、曼努埃拉·吉梅纳-阿亚拉、豪尔赫·路易斯
102.969
100%
MST-NUEVA IZQUIERDA
96.414
0,44%
博达特、雨果·亚历杭德罗-里波尔、维尔玛·安娜
96.414
100%
流行党
82.900
0,38%
YATTAH,MAURICIO JORGE-MORETTA,MARIA BELEN
82.900
100%
接受向量运动
41.214
0,17%
阿尔巴雷辛,劳尔·亨贝托·迪布,加斯顿
41.214
100%

我要分析的完整HTML是:

我的代码:

include_once 'simple_html_dom.php';


$html = file_get_html('http://www.resultados.gob.ar/web/dat99/DPR99999A.htm');



/*----------------------24TH TABLE: SAN LUIS----------------*/
//this table (and the previous ones) are parsed just fine

$table = $html->find('table',23);
$rowData = array();


foreach($table->find('tr') as $row) {
    // initialize array to store the cell data from each row
    $flight = array();
    foreach($row->find('td') as $cell) {
        // push the cell's text to the array
        $flight[] = $cell->plaintext;
    }
    $rowData[] = $flight;
}

echo '<table><thead><tr><th>Table 24 - San Luis</th></tr></thead>';
foreach ($rowData as $row => $tr) {
    echo '<tr>'; 
    foreach ($tr as $td)
        echo '<td>' . $td .'</td>';
    echo '</tr>';
}
echo '</table>';


/*-----------------------TABLE 25TH - WITH RESULTS IM INTERESTED IN----------------*/
$table = $html->find('table',24);
$rowData = array();


foreach($table->find('tr') as $row) {
    // initialize array to store the cell data from each row
    $flight = array();
    foreach($row->find('td') as $cell) {
        // push the cell's text to the array
        $flight[] = $cell->plaintext;
    }
    $rowData[] = $flight;
}

echo '<table><thead><tr><th>Tabla 25 - Tabla with results</th></tr></thead>';
foreach ($rowData as $row => $tr) {
    echo '<tr>'; 
    foreach ($tr as $td)
        echo '<td>' . $td .'</td>';
    echo '</tr>';
}
echo '</table>';
include_once'simple_html_dom.php';
$html=file\u get\u html('http://www.resultados.gob.ar/web/dat99/DPR99999A.htm');
/*----------------------第24桌:圣路易斯----------------*/
//这个表(和前面的表)解析得很好
$table=$html->find('table',23);
$rowData=array();
foreach($table->find('tr')作为$row){
//初始化数组以存储每行的单元格数据
$flight=array();
foreach($row->find('td')作为$cell){
//将单元格文本推送到数组中
$flight[]=$cell->纯文本;
}
$rowData[]=$flight;
}
echo“表24-圣路易斯”;
foreach($rowdataas$row=>$tr){
回声';
foreach($tr as$td)
回音“.$td.”;
回声';
}
回声';
/*-----------------------表25-我感兴趣的结果----------------*/
$table=$html->find('table',24);
$rowData=array();
foreach($table->find('tr')作为$row){
//初始化数组以存储每行的单元格数据
$flight=array();
foreach($row->find('td')作为$cell){
//将单元格文本推送到数组中
$flight[]=$cell->纯文本;
}
$rowData[]=$flight;
}
回音“表25-带结果的表”;
foreach($rowdataas$row=>$tr){
回声';
foreach($tr as$td)
回音“.$td.”;
回声';
}
回声';

您能解释一下您的代码“在25日不起作用”的方式吗?(在我看来,第25个和第26个表与前24个表不太相似,但我只是粗略地看了看。)显然,代码没有按照foreach语句中的说明浏览第25个表,数组也没有填充。