Leitura de arquivo e gravação em txt

1. Leitura de arquivo e gravação em txt

Guilherme Fernandes Silva
Odiiin

(usa Outra)

Enviado em 24/10/2016 - 00:57h

Boa noite pessoal.

Bom estou fazendo um trabalho e estou com duvida.Eu preciso ler um arquivo .HTM nele existe vários resultados de loteria,depois de ler o arquivo preciso gerar um txt somente com os resultados.No caso,existem informações que não preciso,segue exemplo:

<html>
<head>
<title>Resultado da Mega-sena</title>
<STYLE>
TD {
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
HEIGHT: 15pt;
TEXT-ALIGN: center
}
</STYLE>
</head>
<body>
<p><strong><big><big><font face="Arial" color="#004080">Resultado da Mega-sena</font></big></big></strong></p>
<p><img src="t2.gif">
</p>
<table border="0" cellspacing="1" cellpadding="0" width="1810">
<tr>
<th width="50" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Concurso</font></small></th>
<th width="100" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Data Sorteio</font></small></th>
<th width="80" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">1ª Dezena</font></small></th>
<th width="80" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">2ª Dezena</font></small></th>
<th width="80" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">3ª Dezena</font></small></th>
<th width="80" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">4ª Dezena</font></small></th>
<th width="80" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">5ª Dezena</font></small></th>
<th width="80" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">6ª Dezena</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Arrecadacao_Total</font></small></th>
<th width="95" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Ganhadores_Sena</font></small></th>
<th width="95" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Cidade</font></small></th>
<th width="95" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">UF</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Rateio_Sena</font></small></th>
<th width="131" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Ganhadores_Quina</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Rateio_Quina</font></small></th>
<th width="131" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Ganhadores_Quadra</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Rateio_Quadra</font></small></th>
<th width="70" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Acumulado</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Valor_Acumulado</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Estimativa_Prêmio</font></small></th>
<th width="120" height="20" bgcolor="#7BA8D9"><small><font face="Arial" color="#FFFFFF">Acumulado_Mega_da_Virada</font></small></th>
</tr>
<tr>

<td rowspan="1">1</td>

<td rowspan="1">11/03/1996</td>

<td rowspan="1">41</td>

<td rowspan="1">05</td>

<td rowspan="1">04</td>

<td rowspan="1">52</td>

<td rowspan="1">30</td>

<td rowspan="1">33</td>

<td rowspan="1">0,00</td>

<td rowspan="1">0</td>

<td rowspan="1">&nbsp</td><td rowspan="1">&nbsp</td>
<td rowspan="1">0,00</td>

<td rowspan="1">17</td>

<td rowspan="1">39.158,92</td>

<td rowspan="1">2016</td>

<td rowspan="1">330,21</td>

<td rowspan="1">SIM</td>

<td rowspan="1">1.714.650,23</td>

<td rowspan="1">0,00</td>

<td rowspan="1">0,00</td>

</tr>

<tr bgcolor=#D9E6F4>

<td rowspan="1">2</td>

<td rowspan="1">18/03/1996</td>

<td rowspan="1">09</td>

<td rowspan="1">39</td>

<td rowspan="1">37</td>

<td rowspan="1">49</td>

<td rowspan="1">43</td>

<td rowspan="1">41</td>

<td rowspan="1">0,00</td>

<td rowspan="1">1</td>

<td></td>
<td>PR
</td>
<td rowspan="1">2.307.162,23</td>

<td rowspan="1">65</td>

<td rowspan="1">14.424,02</td>

<td rowspan="1">4488</td>

<td rowspan="1">208,91</td>

<td rowspan="1">NÃO</td>

<td rowspan="1">0,00</td>

<td rowspan="1">0,00</td>

<td rowspan="1">0,00</td>

</tr>

No caso,preciso do do que esta entre as tags,<td>,</td> e </tr>.Mas nao sei como retirar somente as informações que preciso e de forma organizada.


  


2. Re: Leitura de arquivo e gravação em txt

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/10/2016 - 01:08h

Primeiro você vai ter que saber a abrir o arquivo, lê-lo e fazer pesquisas.
Isto até possui muitas referências.
Em seguida REGEX.

FILE *
fopen()
fclose()
fread()
fseek()

Não me lembro se há algo para pesquisa por linha de arquivo com REGEX.

REGEX são expressões regulares e manuseando-as você pode localizar linhas com os referidos padrões e realizar cópias de trechos de strings.

Veja funções de strings.

strtok()
strcpy()

Por último material de REGEX:

http://tiagomadeira.com/2005/10/expressoes-regulares-no-c/
http://thobias.org/doc/er_c.html
https://www.vivaolinux.com.br/artigo/Expressoes-Regulares-(POSIX)-em-C

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Leitura de arquivo e gravação em txt

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 24/10/2016 - 08:00h

Se não quiseres fazer isso no braço, pode utilizar uma biblioteca de parser para HTML.

Como exemplo, existe o projeto Poco, que contém um punhado de bibliotecas.

A biblioteca que trata HTML e XML é a libPocoXML.

A documentação dela está aqui: https://pocoproject.org/slides/170-XML.pdf
A referência está aqui: https://pocoproject.org/docs/Poco.XML.html
Ainda dentro do repositório, existem exemplos de parser para arquivos.

Existem ainda alguns outros projetos independentes, como é o caso:

myHTML: https://github.com/lexborisov/myhtml
Parser para HTML5

libHTML: http://libhtml.sourceforge.net/
Parser para HTML5

Gumbo: https://github.com/lazytiger/gumbo-query
Parser para HTML5

Você também pode optar por Boost Property Tree mas o processo é mais braçal.
Eu tenho uma larga experiencia com a Poco, mas acredito que a Gumbo deva ser a mais simples de ser utilizada.


--
Uilian Ries
Linux Counter: 521986


4. Re: Leitura de arquivo e gravação em txt

Fabiano
fpires

(usa Debian)

Enviado em 24/10/2016 - 09:42h

Procure por "Web Parsing" ou "Web Scrapping" + a sua linguagem de programação preferida (C/C++, python, PHP, bash ...)



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts