Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Layla Hudgens

Buscador C / CGI

Recommended Posts

Oii

 

Tenho um trabalho da faculdade pra fazer que é uma aplicação web usando cgi e c

Gostaria de saber como fazer uma busca em c. É através da manipulação de arquivos?

 

Como o buscador será transformado em CGI, tenho que criar uma variável que leia os dados

da busca fornecidos pelo usuário via HTML para procurar no arquivo que será chamado no codigo do .c, certo?

Como fazer isso?

 

Ficou um pouco confuso, mas agradeço desde já a quem puder me ajudar

Beijoos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Layla

 

Um buscador de que?

Um "robot"?? (mecanismo parecido com o google)

Um buscador de arquivos no servidor?

 

Defina melhor qual a sua dúvida. Se possível manda o enunciado do seu trabalho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O trabalho é uma aplicação web usando cgi apartir de c

Meu grupo decidiu fazer um buscador.

 

Seria um robot como o Google. É possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você escolheu um tema meio complicadinho...

:P :P

 

Tratando-se de C, o impossivel só demora um pouco mais de tempo...

 

Mas vamos lá,

O seu buscador deve ser constituido de duas partes, um bot, que segue links e uma base de dados que guarda os sitemaps e textos.

Quando alguém faz uma busca no seu buscador, ele checa na base de dados e retorna as entradas que correspondem, claro!

 

Para a implementação do bot, podemos fazer de um milhão de formas, eu dividiria em duas partes:

1- um downloader (com multithreading) que baixa os fontes de um dado link, esses links estariam numa lista de trabalho

2- Após o source-code da pagina ser baixado, o downloader "encaminha" isso pra qualquer ferramenta que encontra os links, busque pelas tags:

<a href="link">
<img src="link">
<script src="link">
....
e outras tags do mesmo tipo.
Quando encontrar links, coloque-os na lista de trabalho do downloader. a idéia é mesmo fazer um loop infinito.

 

Não esquecendo que não é interessante que o robo visite algum link que ele ja tenha visitado antes.

E você não quer que seu downloader baixe um filme de 700mb... portanto cuidado com as extensões.

 

 

 

Em que SO será desenvolvido o projeto??

Meu conselho é para vocês irem de linux, até pq, ja existem alguns web crawlers open sources, pode ser uma boa idéia dar uma olhada no código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu achei esse progrma que baixa as páginas da internet:

http://pt.wikipedia.org/wiki/HTTrack

 

Depois de ter baixado as páginas, como ficaria isso implementado no c?

Como pegar o que o usuário digitou e buscar na base de dados?

 

A gente está usando o Windows, mas vou falar com o pessoal para usar Linux

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegar o programa pronto não é uma boa idéia.

Mais vale pegar um open source e reaproveitar o código, pelo menos vocês leram e sabem como funciona.

 

Como eu disse ali em cima, um Crawler (mecanismo que se "infiltra" na internet) funciona com duas coisas principais:

1- O downloader, que baixa os fontes

2- Uma outra ferramenta, que tem que fazer algumas coisas com os fontes:

a.) Encontrar os links, e jogá-los na lista de trabalho do downloader, tomando cuidado para não mandar links duplicados nem arquivos MIME
b.) Fazer um sitemap do host encontrado.
c.) Mandar esse sitemap, junto com as tags e plain-texts do site para a base de dados

Quando um usuario digita qualquer coisa no campo busca, você vai buscar os registros na base de dados, você vai procurar no texto dos sites, que estão salvos no seu BD.

Procure na internet por mais detalhes, e pelas técnicas utilizadas para isso.

 

Se vocês estão acostumados com windows, então deixa windows mesmo.

 

Eu não sei o que vocês ja aprenderam (Programação em C), assim fica difícil.

Se você me falar que não sabe usar sockets, então era bom pensar numa mudança de tema. Construir um WebCrawler do zero, não é uma tarefa muito simples, AINDA MAIS em C. Em algumas outras linguagens, por exemplo python, é MUITO mais fácil pois elas possuem suporte nativo a sockets e html parsing.

 

Faça uma busca pela internet, pelos seguintes nomes: WebCrawler; Crawler; Spider; WebBot; WebRobot etc...

Vai encontrar muita coisa.

 

** EDIT **

 

Hoje tava lendo um livro sobre comunicação de processos, e encontrei um código que pode te ajudar.

Pegar o código fonte de um arquivo da WWW e mostrar na tela.

para compilar: gcc _socket-inet.c -o socket-inet

http://pastebin.com/m3dca3ba6

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.