Ler tags HTML em C [RESOLVIDO]

1. Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 29/01/2011 - 17:19h

Olá, eu estou precisando ler tags HTML em um arquivo HTML. Por exemplo, eu quero extrair todos os links que estão no arquivo e jogar para outro arquivo. Eu li sobre a libxml2, mas não consegui implementar nada através dela. Aí achei uma biblioteca que aparentemente é sob medida, a streamhtmlparser [ http://code.google.com/p/streamhtmlparser/ ]. Instalei ela, mas não consigo compilar, pois não sei a flag usada. E parece que não foi instalada como devia, pois o arquivo cabeçalho não está em /usr/include.

Bom, alguém sabe como consigo fazer isso que quero?

Obrigado.


  


2. MELHOR RESPOSTA

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 30/01/2011 - 18:12h

Está faltando o Python, melhor dizendo, os arquivos de desenvolvimento. Acho que pode ser "pulado" essa dependencia passando o "--disable-python":

./configure --prefix=$PWD/StreamHTML --disable-python && make && make install

3. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 16:36h

E aí, alguém tem alguma sugestão?


4. Re: Ler tags HTML em C [RESOLVIDO]

Willian
ThePinkShark

(usa Slackware)

Enviado em 30/01/2011 - 16:57h

um html é um arquivo de texto, o Sr. pode abrir ele como texto e filtrar oq euq uer de dentro dele algo como procurar as tags "<a href=link></a>" e usar somente o valor do href.


5. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 17:04h

Não está Sam. Acabei de checar:

[email protected]:/usr/local/include$ ls -a
. ..

já tentei tanto com o tar.gz quanto com o deb, mas nenhum funciona. Você conhece outra forma de fazer isso ?

Obrigado.


6. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 17:05h

ThePinkShark,

que função você sugere para fazer esse filtro? Pelo que você descreveu, apenas com o padrão da linguagem é possível fazer...

Obrigado.


7. Re: Ler tags HTML em C [RESOLVIDO]

Willian
ThePinkShark

(usa Slackware)

Enviado em 30/01/2011 - 17:12h

Se isto não for algo portável por vir a ser usado o próprio grep através da stdlib.h mas não é recomendavel devido a portabilidade, etc. Faz tempo que não mecho com C, mas sei que existem funções para busca de uma string creio que seja algo como " strst()",


8. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 17:16h

Com a função strstr() eu teria de saber a quantidade de links existentes no arquivo...


9. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 17:36h

Quais comandos você está usando pra instalar ?

Obrigado.


10. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 17:50h

Então, fiz o seguinte:

./configure --prefix=$PWD/streamhtmlparser-0.1

depois mandei um make && make install

Beleza, parece que vai tudo certo, exeto pelo

make[1]: ** [py_streamhtmlparser_la-py_streamhtmlparser.lo] Erro 1
make[1]: Saindo do diretório `/home/andre/Downloads/streamhtmlparser-0.1'
make: ** [install] Erro 2


no final do make install, daí, tento compilar com:

[email protected]:~/Downloads$ gcc 1.c -o 1 -L/$PWD/StreamHTML -lstreamhtmlparser
1.c:2: fatal error: streamhtmlparser/htmlparser.h: Arquivo ou diretório não encontrado


mais alguma sugestão ? :S

Obrigado.


11. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 18:04h

Então, acabei de rodar um:

./configure --prefix=$PWD/StreamHTML && make && make install

a saída foi essa:

http://pastebin.com/ahzaXs8f


Olha só o conteúdo do diretório lá...

[email protected]:~/Downloads/streamhtmlparser-0.1$ ls
aclocal.m4
AUTHORS
autogen.sh
ChangeLog
compile
config.guess
config.log
config.status
config.sub
configure
configure.ac
COPYING
depcomp
INSTALL
install-sh
libstreamhtmlparser.la
libstreamhtmlparser_la-htmlparser.lo
libstreamhtmlparser_la-htmlparser.o
libstreamhtmlparser_la-jsparser.lo
libstreamhtmlparser_la-jsparser.o
libstreamhtmlparser_la-statemachine.lo
libstreamhtmlparser_la-statemachine.o
libtool
ltmain.sh
m4
Makefile
Makefile.am
Makefile.in
missing
mkinstalldirs
NEWS
packages
py_streamhtmlparser_la-py_streamhtmlparser.loT
README
src


Pior que já tentei no Gentoo, no Debian e no Ubuntu. :/

Obrigado.


12. Re: Ler tags HTML em C [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/01/2011 - 18:24h

Agora consegui instalar. Muito obrigado, Sam L. Mas não consegui compilar o exemplo no site, você conseguiu ?

Obrigado.



01 02