Amigos,
Consegui avançar bem no código, mas preciso de uma ajudinha de vocês para continuar.
Preciso importar em um banco Mysql o resultado dos jogos do brasileirão de forma automática, buscando os dados na página da CBF.
Abaixo o trecho HTML da página da CBF com os resultados:
<table class="table table-striped table-condensed visible-print" style="font-size: 9px">
<tbody>
<tr>
<th class="text-center">Jogo</th>
<th class="text-center">Rodada</th>
<th class="text-center">Data</th>
<th class="text-right">Mandante</th>
<th class="text-center"></th>
<th class="text-left">Visitante</th>
<th class="text-left">Estádio</th>
<th></th>
</tr>
<tr>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">14/05/2017 - 11:00</td>
<td class="text-right">Fluminense - RJ</td>
<td class="text-center">3 x 2</td>
<td class="text-left">Santos - SP</td>
<td class="text-left">Maracanã - Rio de Janeiro - RJ</td>
<td></td>
</tr>
<tr>
<td class="text-center">2</td>
<td class="text-center">1</td>
<td class="text-center">13/05/2017 - 16:00</td>
<td class="text-right">Flamengo - RJ</td>
<td class="text-center">1 x 1</td>
<td class="text-left">Atlético - MG</td>
<td class="text-left">Maracanã - Rio de Janeiro - RJ</td>
<td></td>
</tr>
.
.
.
</tbody>
</table>
O código PHP:
<?php
$DOMDocument = new DOMDocument( '1.0', 'utf-8' );
$WebSite = 'http://www.cbf.com.br/competicoes/brasileiro-serie-a/tabela';
$DOMDocument->formatOutput = true;
$DOMDocument->preserveWhiteSpace = false;
@$DOMDocument->loadHTML( file_get_contents( $WebSite ) );
$DOMXPath = new DOMXPath( $DOMDocument );
foreach( $DOMXPath->query( '//table' ) as $Nodes ){
foreach( $Nodes->childNodes as $Node ){
$Data[] = utf8_decode( preg_replace( '/\s/', NUll, $Node->nodeValue ) );
}
}
echo '<pre>';
print_r( array_filter( $Data ) );
?>
Resultado:
Array
(
[0] => JogoRodadaDataMandanteVisitanteEstádio
[1] => 1114/05/2017-11:00Fluminense-RJ3x2Santos-SPMaracanã-RiodeJaneiro-RJ
[2] => 2113/05/2017-16:00Flamengo-RJ1x1Atlético-MGMaracanã-RiodeJaneiro-RJ
[3] => 3114/05/2017-16:00Palmeiras-SP4x0VascodaGama-RJAllianzParque-SaoPaulo-SP
[4] => 4113/05/2017-19:00Corinthians-SP1x1Chapecoense-SCArenaCorinthians-SaoPaulo-SP
[5] => 5114/05/2017-16:00Cruzeiro-MG1x0SãoPaulo-SPMineirão-BeloHorizonte-MG
.
.
.
)
O que gostaria que ficasse:
Array
(
[0]
(
[Jogo] => 1
[Rodada] => 1
[Data] => 14/05/2017 11:00
[Mandante] => Fluminense - RJ
[Placar] => 3x2
[Visitante] => Santos - SP
[Estadio] => Maracanã - Rio de Janeiro - RJ
.
.
.
)
)
Gostaria também:
*Selecionar especificamente esta tabela: "table class="table table-striped table-condensed visible-print" style="font-size: 9px", mas não estou conseguindo filtrando pela classe. Do jeito que está o código ele seleciona a partir da table e tudo abaixo dela.
*Não remover todos os espaços, do jeito que está fica "Maracanã-RiodeJaneiro-RJ"
Após isso, farei um loop para percorrer o Array e importar os dados no mysql.
Abraço!