Você está na página 1de 13

28/05/2020 Como criar um mecanismo de busca - LuizTools

Como criar um mecanismo de busca


Desde 2010 meu envolvimento com mecanismos de busca passou de um simples
usuário do Google a um arquiteto e desenvolvedor de tais soluções.

De lá para cá tive a oportunidade de projetar e construir ferramentas verticais de


busca (aquelas que buscam coisas específicas, ao contrário do Google que é genérico)
que são usadas por milhares de pessoas todos os dias, sendo a mais famosa o Busca
Acelerada (buscador vertical de veículos à venda na Internet), mas também outras
menos conhecidas (por enquanto…) como o BuildIn, um buscador de notícias da
construção civil e o Só Famosos, um buscador de notícias de celebridades.

Neste post, tento resumir os principais elementos necessários para se criar um


mecanismo de busca, independente da linguagem de programação escolhida. No
final do post, passo tutoriais de como programar tais mecanismos.

Passo 1: Esqueça o que você sabe sobre consultas

Se você nunca criou um mecanismo de busca antes e tudo o que sabe de buscas é
usar SELECTs com LIKEs em um banco SQL, esqueça tudo isso. Claro, acho meio
óbvio que se você está lendo esse post deve imaginar que qualquer mecanismo de
busca que se preze (até mesmo o Bing) não faz LIKEs em milhões de páginas da
Internet procurando pelos termos que você digitou.

A criação de um mecanismo de busca é ao mesmo tempo complexa (pois é fora do


formato tradicional que estamos acostumados) e simples, pois os mesmos elementos
estão sempre presentes. O importante aqui é entender os conceitos-chave para
Privacidade - Termos

compor a solução ideal para o seu problema.


https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 1/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

Passo 2: Criar um crawler

Independente do mecanismo de busca que você for criar (seja ele vertical ou
genérico), você terá de criar um crawler primeiro. Um crawler ou spider é um
“robô” (um algoritmo que funciona sozinho) que busca informações em uma
determinada fonte de dados e cataloga elas no índice do seu mecanismo de busca,
para que as consultas posteriores passem a considerar aqueles novos dados em seus
resultados. Sem o trabalho do crawler é impossível criar um mecanismo de busca
eficiente.

Em um buscador vertical, por exemplo de carros, o crawler acessa uma lista de sites
de classificados de carros e procura as informações de cada um dos anúncios,
coletando elas de maneira organizada e salvando em um banco de dados. Em um
buscador de informações, o crawler acessa uma lista de notícias ou documentos e
salva as partes que interessam para a busca em um banco de dados. Dependendo
das suas necessidades o seu crawler pode separar a informações em categorias
(carros, motos e caminhões, por exemplo), ou então as partes dela conforme seu
conteúdo (imagens, notícias e arquivos, por exemplo).

É importante frisar que seu crawler deve ser um algoritmo separado do seu
buscador, que deverá ficar rodando periodicamente para manter sua base de dados
atualizada. Dependendo do volume de informações que você precisa atualizar na
base, talvez seja interessante fazê-lo durante os horários de menor audiência para
evitar lentidões em seu buscador. E dependendo da periodicidade com que os dados
são atualizados, talvez você precise criar uma política para não ter de atualizar toda
sua base toda vez que o crawler rodar.

Este processo de funcionamento do crawler chamamos de webcrawling.


Webcrawlers como os do Google (chamado de GoogleBot) são muito complexos e não
apenas lêem uma lista de sites mas “seguem” cada um dos links de cada site
percorrendo assim todo emaranhado que é a nossa web atual. Cada vez que ele
Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 2/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

encontra um novo site que ele não conhecia, coloca-o no índice principal do Google
para passar a ser rastreado periodicamente a partir de então.

Curiosidade: o GoogleBot original, que era muito bom para sua época, conseguia se
replicar em 4 cópias e percorrer 100 páginas por segundo, catalogando 600kb de
dados por segundo em sua base de dados.

Passo 3: Criar um índice

Quando o seu crawler ler as informações de uma página ou documento você vai
querer salvar apenas aquelas que são importantes para a busca, evitando que seu
banco de dados vire algo colossal. As informações que lhe serão úteis na pesquisa
variam de vertical para vertical, mas geralmente são um reflexo dos tipos de filtros
que você irá disponibilizar ao seu usuário no site de busca, sendo um campo de texto
livre o filtro mais comum (como o Google faz). Esse compilado de informações úteis
para a pesquisa é o que chamamos de índice e é aqui onde mora a real
complexidade de se criar um mecanismo que funcione de maneira eficaz e eficiente.

Os índices mais comuns de serem criados para mecanismos de busca baseados em


texto são os índices invertidos. Por padrão os bancos de dados criam o que
chamamos de forward index, ou índices diretos, onde com base no valor de uma
chave do registro/documento, encontramos o restante do seu conteúdo. A ideia do
índice invertido é o oposto: com base em um pedaço do conteúdo do
registro/documento, encontramos sua chave para trazer o registro completo. Afinal,
Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 3/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

o usuário sabe algumas palavras do que ele vai buscar, mas não sabe qual a chave
do registro/documento que ele quer, certo?!

Uma técnica comum para criarmos este tipo de índice de maneira eficiente para
uma pesquisa textual é montarmos um forward index primeiro, onde nossa chave
será o identificador único do registro/documento e o seu valor será um conjunto de
tags (strings) que devem levar o usuário àquele registro. É importante frisar que esse
índice deve ser criado de maneira normalizada (sem acentos, por exemplo). Com o
forward index pronto, você deverá criar o inverted index da seguinte maneira: para
cada tag presente no registro atual (considerando que eu estou percorrendo os
registros do forward index do primeiro ao último) eu adiciono a tag no índice
invertido com o identificador do registro como seu valor. Assim, quando
terminarmos de percorrer todo forward index teremos um índice invertido onde,
para cada tag, sabemos todos os registros onde ela aparece.

Você pode ainda colocar elementos adicionais ao seu índice como um peso para cada
tag em cada documento, por exemplo, para ajudar na ordenação dos resultados,
calcular a densidade de cada palavra em cada documento, a sua proximidade do
início do documento (e consequente relevância para o assunto) e muito mais. Esses
“adicionais” é que geram tanta diferença entre pesquisar em um buscador como o
Google vs pesquisar a mesma coisa no Bing ou no Yahoo!, por exemplo.

Curiosidade: você vai precisar conhecer um pouco de Estruturas de Dados para


construir esses índices que mencionei e é aqui onde separamos os meninos dos homens
na programação. Geralmente esses índices são criados em memória usando tabelas
Hash que no Java, por exemplo, podem ser criadas com a coleção HashMap, enquanto
que no C# podem ser criados com a coleção Dictionary. Independente da escolha, a
chave (key) do índice invertido será uma String (a tag) enquanto que o valor (value)
será uma coleção de inteiros (os ids dos registros no banco). Soluções mais complexas
podem ser usadas dependendo da sua experiência, como usar Redis para os índices,
usar Elastic Search para consultas complexas ou índices multivalorados no MongoDB.
Mas garanto por experiência própria que as coleções acima mencionadas dão conta de
buscadores básicos (até 1 milhão de registros indexados, aproximadamente).

A seguir veremos como consultar esse índice de maneira eficiente.

Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 4/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

Passo 4: Criar um algoritmo de busca

Uma vez que você tem seu índice pronto, você terá de codificar o seu algoritmo de
busca. Esse algoritmo também varia bastante conforme o que está sendo buscado.
Em um algoritmo tradicional para busca textual, recebemos como entrada do
usuário uma expressão que devemos normalizar (remover acentos, colocar tudo em
maiúsculas ou minúsculas, entre outras tarefas incluindo corrigir erros de
ortografia) para particioná-la e submetê-la ao nosso índice em partes, tag por tag
gerada após a normalização.

Vamos pensar que o usuário pesquisou por “carro usado”, o que nos dá duas tags:
“carro” e “usado”. Primeiro vamos em nosso índice procurar pela tag “carro”, onde
obteremos as chaves de todos os registros que possuem a tag carro em seus dados.
Depois, vamos em nosso índice procurar pela tag “usado”, onde obteremos as chaves
de todos os registros que possuem a tag usado em seus dados. Agora, fazemos a
intersecção dessas duas buscas (lembra de Teoria dos Conjuntos?), restando apenas
uma coleção de chaves de registros que possuem ambas tags.

Alguns algoritmos não possuem esse tipo de precisão, trazendo registros que
possuam apenas uma das tags mencionadas. Outros, são ainda mais críticos,
exigindo que as tags sejam digitadas na mesma ordem em que são encontradas nos
registros (se pesquisasse por “usado carro” não traria nada, por exemplo).
Novamente, esses detalhes são a diferença na hora de exibir os resultados de um
mesmo assunto em dois buscadores diferentes. Você terá de encontrar o que
funciona para o seu domínio de problema.

Curiosidade: o segredo para construir um bom algoritmo é conhecer Estrutura de


Dados (novamente) e Teoria dos Conjuntos. Algoritmos usam estruturas como
Matrizes de Dispersão e comandos como intersecções, diferença, complemento e
uniões de conjuntos para gerar os resultados, tudo dependendo das possibilidades que
você quer dar ao seu usuário (AND, OR, etc). Em Java temos a excelente coleção
HashSet para lidar com conjuntos, enquanto que o equivalente mais próximo em C# é o
Privacidade - Termos

HashSet, mas que é inferior à sua contraparte open-source de mesmo nome. Voltando
https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 5/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

a citar o Redis, ele possui um tipo de coleção Set também, para lidar com operações
entre conjuntos.

Passo 5: Criar o software cliente

Uma vez que você montou todo o backend de um mecanismo de busca, está na hora
de criar a sua interface. Nenhuma novidade aqui: vai depender do buscador que
você está criando. Eu sempre criei buscadores web mas com o passo-a-passo acima
tanto faz se será web, desktop ou mobile. Você inclusive pode disponibilizar o seu
algoritmo de busca via API e permitir que diferentes interfaces sejam criadas pra
ele, para que o usuário utilize da maneira que melhor lhe convier.

Duas páginas merecem atenção aqui: a página de busca e a de resultados.

A página de busca, que pode ser apenas uma barra no topo do site ou algo mais
sofisticado com algumas categorias pré-definidas, é onde o usuário vai usar os filtros
que você disponibilizar a ele. Boas práticas nessa página incluem colocar o mínimo
de filtros possível (forneça a opção de busca avançada se for necessário) e também
colocar um autocomplete na busca, que vá sugerindo termos para evitar que o
usuário escreva errado ao mesmo tempo que facilita a vida dele que pode clicar em
uma das sugestões e já ver os resultados.

Já a página de resultados, essa depende da arquitetura da informação que você


catalogou. Por exemplo, no Busca Acelerada apenas guardamos um resumo das
principais informações do anúncio, cabendo ao visitante clicar no mesmo para ver
os detalhes na página original do vendedor. O número de resultados disponíveis e a
forma como eles serão apresentados têm de ser testados com seu público para
determinar o que funciona melhor pra eles.

Feito essas duas páginas você terá o mínimo para lançar seu mecanismo de busca no
ar!

Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 6/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

Passo 6: Aperfeiçoar

Mesmo depois de pronta a versão 1.0 sempre há coisas a melhorar. Minha sugestão é
colher feedback dos seus usuários com a técnica de NPS logo abaixo dos resultados
da página. Procure indicar sua ferramenta para os amigos próximos e assista eles
usando, para entender seu comportamento, ou então instale gravadores de sessão
como HotJar, ClickTale e InspectLet, todos gratuitos, para ver como seus usuários
usam sua ferramenta. Grave em logs no banco de dados as pesquisas que eles fazem
e quantos resultados retornam, para trabalhar em cima dos pontos fracos e falhas do
seu software e entender mais o que é pesquisado mais comumente.

E não pára por aí. Fique sempre atento a novas tecnologias que podem ajudar a
melhorar seu buscador, principalmente bases de dados NoSQL e ferramentas open-
source como RethinkDB, InfluxDB, Apache Hadoop, Apache Lucene e muitas outras.
O segredo aqui é estar refinando sempre em busca de um mecanismo de busca cada
dia melhor. Se o Google continua a melhorar seu buscador que já é excelente, que
dirá o buscador que eu ou você construímos…

Nesse post aqui eu ensino como criar um mecanismo de busca com Node.js +
MongoDB, uma combinação bem popular atualmente e neste aqui usando ASP.NET
Core + MongoDB. Já neste outro post, ensino como criar um webscrapper, um tipo de
crawler que lê informações de sites HTML.

E aí, deixe o link do buscador que construiu aí nos comentários e vamos trocar
experiências!

Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 7/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

Curso Node.js e MongoDB

PUBLICADO POR

Luiz Duarte
Pós-graduado em computação, professor, empreendedor, autor, Agile Coach e programador nas
horas vagas. Ver todos os posts de Luiz Duarte 

 04/09/2016  Luiz Duarte  Desenvolvimento  experiencia

TAMBÉM NO LUIZTOOLS

Certificações Ágeis Transformação Ágil: Dicas para re


para Scrum Master e … Passo a Passo um monolito
há 2 anos • 13 COMENTÁRIOS há 8 meses • 3 COMENTÁRI… há um ano • 5 CO
Atualizado em 18/06/19 com Recentemente iniciei uma Erroneamente c
vídeos! Obtive minhas série de novos artigos aqui fonte original em
primeiras certificações … no blog com o post … Rising Stack, m

36 COMENTÁRIOS LuizTools 🔒 Política de privacidade

 Geovane da Conc…

 Recomendar 3 t Tweet f Partilhar

Mostrar primeiro os mais votados Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 8/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

Escreva o seu comentário...

Pablo Petzen • há 7 meses


Dê uma olhada no www.searchbar.org, gratuito, agradável aos olhos,
leve, com um design pensado em dispositivos móveis, com certeza é o
mais fácil de implementar em qualquer CMS trazendo resultados
rápidos e precisos.
1△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Pablo Petzen • há 7 meses

Para sites institucionais, o que me parece ser o público-alvo


(você inclusive falou de CMS), pode ser uma boa opção, mas
esse é um nicho que não atendo. A parte mais fácil pra mim é
a de criar a barra de busca (tem tutoriais bem simples aqui no
blog, para programadores obviamente), o complicado mesmo
é fazer os diferentes crawlers para as diferentes necessidades
de negócio que aparecem (ainda assim, também tem tutoriais
aqui no blog).
△ ▽ • Responder • Partilhar ›

LUIS ROBERTO Nogueira • há 3 anos


Muito bom
1△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > LUIS ROBERTO Nogueira


• há 3 anos
:)
△ ▽ • Responder • Partilhar ›

Renato Davi Neto • há 3 dias


Boa tarde Luiz, primeiramente obrigado por compartilhar
informações de valores. Eu sou programador há algum tempo e
sempre procurei me manter atualizado com as tendências
tecnológicas do mercado, obviamente, não é possível absorver e
aprender todas. Por isso nesse momento estou com a ideia de fazer
um buscador, porém baseado nos resultados do Google. Como são
informações bem específicas, estava pensando em utilizar um banco
de dados relacional mesmo com dados normalizados, para um índice
de volumetria mediana. Estou explanando tudo isso, para chegar ao
meu objetivo final que é levantar o questionamento do uso do índice
invertido, obviamente você deve estar considerando o uso de dados
não-estruturados para tal sugestão, por que, obviamente, isso
desconsidera o conceito de relacional e as formas normais, além dos
fundamentos tradicionais de ACID que garantem a integridade dos
dados. Poderia discorrer melhor o conceito e a real necessidade do
uso de índices invertidos, considerando o explanado acima?
△ ▽ • Responder • Partilhar › Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 9/13
28/05/2020 Como criar um mecanismo de busca - LuizTools

Luiz Fernando Jr LuizTools > Renato Davi Neto • há 3 dias


Se você vai fazer busca full text que seja inteligente e que seja
rápida, já abandone agora a sua ideia de usar banco relacional
para o índice. Nada impede que você use relacionais para os
dados dos resultados (aqui vale a pena investir em ACID), mas
índice de busca, em banco relacional, é tecnicamente possível
mas vai restringir demais a sua performance e a inteligência
da sua busca. A menos, é claro, que tenha não mais do que
algumas dezenas de milhares de registros no índice, pois
quando chegar nas centenas de milhares, não vão querer mais
esperar pelos resultados pois vai demorar vários segundos ou
até minutos.

De 2010 pra cá, tive a oportunidade de testar quase uma


dezena de modelos diferentes para índices de mecanismos de
busca. O índice invertido tem o melhor custo benefício pois é
simples de implementar e performático (até alguns milhões de
registros, pelo menos).
△ ▽ • Responder • Partilhar ›

eduardo garcia de oliveira • há um mês


19 99959-6260
△ ▽ • Responder • Partilhar ›

eduardo garcia de oliveira • há um mês


Bom dia, é possível vc entrar em contato comigo pelo whatsapp?
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > eduardo garcia de oliveira


• há um mês
Bom dia Eduardo. Peço que me envie um email com as suas
dúvidas, envie para contato at luiztools com br
△ ▽ • Responder • Partilhar ›

eduardo garcia de oliveira > Luiz Fernando Jr


• há um mês
Bom dia Luiz, TD bem, seguinte gostaria de
desenvolver um site de motor de Busca para algo
específico, vou lhe dar um exemplo o site da trivago, pq
além de ser um motor de Busca eles tbm trabalho com
outros sites periféricos, e é exatamente isso que eu
gostaria que fosse desenvolvido. E se possível qual é o
valor para um desenvolvimento desta complexidade?
Meu whats é 19 99959-6260

Em dom, 26 de abr de 2020 10:50, Disqus


<notifications@disqus.net> escreveu:
△ ▽ • Responder • Partilhar ›
Privacidade - Termos
Luiz Fernando Jr LuizTools > eduardo garcia
de oliveira • há um mês
https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 10/13
28/05/2020 Como criar um mecanismo de busca - LuizTools
de oliveira • há um mês

Você já tem os dados que vão ser indexados?


Caso sejam de terceiros, você tem as APIs dos
mesmos? Caso não tenha, terão de ser
construídos webcrawlers, sendo um por
parceiro e tudo isso impacta no custo. Sugiro
que me mande um email para contato arroba
luiztools com br com a descrição mais
detalhada do que precisa para que eu possa
entender melhor.
△ ▽ • Responder • Partilhar ›

eduardo garcia de oliveira > Luiz Fernando Jr


• há um mês
Luiz, td bem, então não tô conseguindo decifrar
o mail, mas segue ai o meu garcia de Oliveira
1983 arrouba Google mail com br

Em dom, 26 de abr de 2020 12:56, Disqus


<notifications@disqus.net> escreveu:
△ ▽ • Responder • Partilhar ›

Edwin • há 7 meses
bom dia Luiz, achei muito interessante seu artigo, ja fiz buscas sql
like simples mas seu artigo me abriu um horizonte novo. Mas tem
duas coisas que gostaria de saber, primeiro o problema da correção
ortográfica, tem alguma ideia de como fazer isso?, existe algum
algoritmo pronto tipo o voce quis dizer do google?, e o segundo é o
calculo da densidade das palavras num texto, (mesmas perguntas do
primeiro kkk) Obrigado pela atenção.
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Edwin • há 7 meses

Sobre correção ortográfica, o básico é bem tranquilo de fazer


usando expressões regulares ou mesmo ifs, pra retirar
acentos, usar caixa baixa pra tudo, etc. Pra palavras
semelhantes e sinônimos pode usar um dicionário no banco
de dados ou usar alguma lib tipo Lucene pra fazer análise de
similaridade.

Sobre densidade de palavras, também não é difícil de escrever


algoritmos pra isso. Agora se estiver com dificuldade em
pensar nesses algoritmos, sugiro buscar uma abordagem mais
pronta de mecanismo de busca como o Elasticsearch.
△ ▽ • Responder • Partilhar ›

Expanda Fronteiras • há um ano


Olá Luiz, desconheço completamente o assunto, embora saiba um
pouco de programação, então se você puder responder essa pergunta,
ficaria grato: é possível que eu crie um robô que entre em buscadores Privacidade - Termos

de passagens aéreas já com especificações de destinos e datas


https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 11/13
28/05/2020 Como criar um mecanismo de busca - LuizTools
de passagens aéreas, já com especificações de destinos e datas
alimentadas, e ter o retorno em uma planilha? Obrigado pela
atenção.
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Expanda Fronteiras • há um ano

Sim, é possível. No entanto, considerando a flutuação real-


time dos preços de passagens e lotação de vôos, é algo bem
arriscado de fazer pois tende ao erro. Seu robô vai pegar uma
informação que minutos depois já pode estar errada, entende?
Os carrinhos de compras das cias. aéreas costumam ter 10-15
minutos de tolerância para fechar a compra por causa disso.
△ ▽ • Responder • Partilhar ›

Expanda Fronteiras > Luiz Fernando Jr • há um ano


Acho que para isso eu não teria tanto problema, já que
não quero uma situação real time, só uma fotografia a
princípio. Obrigado por responder!
1△ ▽ • Responder • Partilhar ›

Dayana Silva • há 2 anos


Luiz qual seria sua sugestão de livros
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Dayana Silva • há 2 anos

Nenhum técnico especificamente, mas um que ajuda a


entender o Google é esse: http://www.luiztools.com.br...
△ ▽ • Responder • Partilhar ›

Anabela Seixo • há 2 anos


Boa tarde,

o que acima refere é possível apenas para pesquisa em x nº de sites


nos quais temos de entrar com utilizador e password?, seria uma
especie de trivago através da referencia de artigos.

Anabela
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Anabela Seixo • há 2 anos

É possível fazer busca em sites que tenha login sim, desde que
tenha credenciais válidas, se foi isso que você perguntou.
△ ▽ • Responder • Partilhar ›

Rafael Freitas • há 2 anos


Olá pessoal, Luiz tenho um site guia de endereços online, agora estou
querendo Programa um bot para varrer a web em busca de registros
de endereços telefone e nome de empresas e alimentar meu banco de
dados é possível desenvolver um bot desses? Fico no aguardo por Privacidade - Termos

resposta obrigado Abraço


https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 12/13
28/05/2020 Como criar um mecanismo de busca - LuizTools
resposta, obrigado. Abraço.
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Rafael Freitas • há 2 anos

É possível sim, eu desenvolvi dois projetos semelhantes, na


época que fazia freelas ainda, um para um guia de
classificados em 2010 e outro para um guia de empresas em
2011. O segredo para ganhar volume rapidamente é não
crawlear a web inteira, mas sim outros guias mais maduros e
depois fazer uma curadoria dos dados para remover
duplicidades, inconsistências, etc. Aqui no blog você encontra
tutoriais que podem te ajudar nisso.
△ ▽ • Responder • Partilhar ›

Rafael Freitas > Luiz Fernando Jr • há 2 anos


Luiz no caso seria melhor programar ele Java ou PHP
mesmo, e se leva muito tempo para programa esse bot
△ ▽ • Responder • Partilhar ›

Luiz Fernando Jr LuizTools > Rafael Freitas


• há 2 anos
Antigamente eu fazia bots em C#, hoje em dia
só faço com Node.js, assim como ensino aqui
no blog (procure por webscrapper na caixa de
pesquisa do blog), por facilidade e
performance.

Orgulhosamente mantido com WordPress

Privacidade - Termos

https://www.luiztools.com.br/post/como-criar-um-mecanismo-de-busca/ 13/13

Você também pode gostar