Como utilizar a WebScrapingAPI para recolher dados do Yelp

Robert Sfichi em 12 de agosto de 2021

imagem do blogue

Já alguma vez se perguntou como é que as empresas controlam a concorrência? Claro que agentes duplos, investigadores privados e binóculos podem parecer divertidos, mas a vida real não é como nos filmes. A análise real da concorrência é um processo tedioso que é melhor deixar para o software. Desta forma, pode concentrar-se em fornecer o máximo valor aos seus clientes.

Hoje em dia, os seus concorrentes já têm toda a informação de que precisa à vista de todos. Com as redes sociais a ganharem muita força nas últimas duas décadas, as empresas estão a tentar estar mais presentes na vida dos seus clientes, criando uma presença online. A informação já lá está. Só temos de encontrar uma forma de automatizar o processo de recolha de dados.

No artigo seguinte, vamos construir um script que nos ajudará a reunir todas as informações necessárias sobre os nossos concorrentes comerciais, tirando partido dos seus perfis públicos no Yelp.

Porque é que deve recolher dados da concorrência

Investigar os preços dos produtos da concorrência, supervisionar a sua linha de produtos e categorias ou analisar a sua estratégia nas redes sociais são apenas três das tácticas mais valiosas que pode utilizar para melhorar a sua empresa.

Encontrar e comparar preços de produtos não é uma tarefa muito difícil, mas consome muito tempo. A utilização de uma ferramenta de recolha de dados da Web pode ajudá-lo a obter automaticamente informações actualizadas sobre a estratégia de preços e as vendas rápidas dos seus concorrentes.

Analisar as linhas de produtos e categorias dos seus concorrentes ajuda-o a compreender melhor as tendências que definem o mercado. Por exemplo, se for proprietário de um restaurante, pode descobrir que um prato específico, como o hambúrguer vegan, está na moda na sua cidade, pelo que pode fazer ajustes no seu menu para aumentar as vendas.

As redes sociais não são úteis apenas para reforçar a ligação entre a empresa e o cliente. Ao analisar a estratégia de redes sociais dos seus concorrentes, pode descobrir o que funciona e o que não funciona em apenas alguns minutos. Pode encontrar facilmente respostas a perguntas como "Quantas vezes publicam por semana?" ou "Que recursos visuais mantêm o envolvimento a um nível elevado?", apenas com uma recolha de dados.

Porque é que o Yelp é o local ideal para recolher dados da concorrência

O Yelp é uma das plataformas online mais populares, onde os utilizadores podem partilhar as suas experiências e ajudar os outros a tomar decisões informadas sobre empresas locais. Se é proprietário de uma empresa ou está a tentar abrir uma, descobrir informações valiosas sobre a concorrência pode melhorar a sua taxa de sucesso por uma larga margem. Informações sobre a localização exacta, o horário de funcionamento, os serviços de entrega ou o tipo de negócio são apenas algumas das que pode encontrar ao navegar no Yelp.

O que é ainda melhor é que pode diminuir o tempo que gasta a analisar a concorrência utilizando uma ferramenta de recolha de dados da Web e concentrar-se mais na construção de um negócio melhor. Esta estratégia será compensada a longo prazo, uma vez que a automatização do processo de recolha de dados pode tornar-se numa das tarefas mais aborrecidas e morosas.

Como utilizar a WebScrapingAPI para extrair dados do Yelp

Na secção seguinte, vamos utilizar o Node.js e algumas bibliotecas como got e jsdom para criar o script que irá obter todos os dados de uma página do Yelp e formatá-los de forma a serem o mais compreensíveis possível. Vamos ver como todas as informações apresentadas acima podem ser convertidas em resultados tangíveis:

1. Encontrar os dados de que necessita

Vamos supor que estamos interessados em abrir um restaurante na cidade de Nova Iorque. Gostaríamos de criar uma lista de concorrentes que inclua informações úteis como:

  • Número de revisões
  • Tipo de restaurante
  • Preços
  • Localização
imagem do blogue

O URL que vamos extrair é o seguinte: https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1.

Pode fazer scraping em conjunto com o artigo se iniciar a sua avaliação gratuita com 5000 pedidos e acesso a todas as funcionalidades para testar o nosso produto. Pode utilizar qualquer ferramenta de recolha de dados com que se sinta mais confortável. Saiba apenas que, a partir daqui, o tutorial centrar-se-á em como obter os resultados utilizando o WebScrapingAPI.

Depois de criar uma conta gratuita, aceda à página do API Playground clicando no botão "Usar API Playground" na página Dashboard. A página deve ter a seguinte aparência:

imagem do blogue

Tal como o nome sugere, este é o local onde podemos testar a ferramenta de recolha de dados antes de criar o nosso script. Vamos copiar o URL apresentado acima na entrada de URL (coluna da esquerda), rolar um pouco para baixo e clicar no botão "Send API Request" (Enviar pedido de API). Essa ação deve retornar um resultado parecido com este:

imagem do blogue

Agora vamos construir o script que vai fazer a maior parte do trabalho para nós.

2. Criação do projeto

Crie a pasta do projeto, abra uma janela de terminal e navegue até ela. Tal como dissemos anteriormente, vamos usar a biblioteca 'got' para fazer os pedidos e 'jsdom' para as nossas necessidades de análise. Depois de aceder à pasta do projeto, execute os seguintes comandos no terminal:

npm init -y
npm install got jsdom

O projeto deve agora incluir os ficheiros 'package.json'. Crie um novo ficheiro chamado 'index.js' e abra-o utilizando o seu IDE preferido. Se não tiver nenhum instalado, recomendamos que descarregue o Visual Studio Code, uma vez que é considerado o IDE mais popular neste momento.

3. Fazer um pedido

Vamos definir os parâmetros, fazer o pedido e analisar o HTML. Escreva as seguintes linhas no ficheiro 'index.js' recentemente criado:

const {JSDOM} = require("jsdom")

const got = require("got")

(async () => {
const params = {
api_key: "YOUR_API_KEY,”
url:"https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1"
}

const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})


const {document} = new JSDOM(response.body).window

const competitors = document.querySelectorAll('.container__09f24__sxa9-')

console.log(competitors)

})()

Certifique-se de que substitui a cadeia "YOUR_API_KEY" pela chave da API que lhe foi fornecida pelo nosso serviço. Pode encontrá-la na página do painel de controlo.

Ao executar o script, fazemos um pedido ao serviço WebScrapingAPI para obter o HTML da página do Yelp. Em seguida, recolhemos todos os elementos da página que contêm informações sobre os nossos concorrentes e registamo-los no ecrã utilizando a função "console.log".

4. Inspeção da página

Vamos voltar à página do Yelp e descobrir como podemos selecionar apenas as informações de que necessitamos. Clique com o botão direito do rato no nome do primeiro restaurante e clique em "Inspecionar".

Aparecerá uma nova janela com o código fonte HTML:

imagem do blogue

Vamos encontrar toda a informação de que precisamos procurando os elementos HTML que a contêm. Na imagem apresentada acima, podemos ver facilmente que o elemento que contém o nome do restaurante tem uma classe CSS de 'css-166la90'. Para obter os nomes de todos os nossos concorrentes, temos de selecionar todos os elementos da página com essa classe. Faremos o mesmo com todos os pormenores apresentados anteriormente, como o número de críticas, o tipo de restaurante, os preços e a localização.

5. Formatação das informações

Agora vamos obter todas as informações de que precisamos da resposta da API resultante. Vamos buscar e formatar o nome do restaurante, a pontuação da avaliação, o tipo de restaurante, a faixa de preço e a localização. Adicione as seguintes linhas de código ao ficheiro 'index.js'.

competitors.forEach((competitor) => {
if (competitor) {
const name = competitor.querySelector('.css-166la90')
if (name) competitor.name = name.innerHTML

const reviewScore = competitor.querySelector('.reviewCount__09f24__EUXPN')
if (reviewScore) competitor.review_score = `${reviewScore.innerHTML}/100`

const types = competitor.querySelectorAll('.css-1hx6l2b')
if (types) {
competitor.types = []
for (type of types) competitor.types.push(type.innerText)
}

const priceRange = competitor.querySelector('.priceRange__09f24__2O6le')
if (priceRange) competitor.price_range = priceRange.innerHTML

const locationContainer = competitor.querySelector('.priceCategory__09f24__Ylk7h')
if (locationContainer) {
let location = locationContainer.querySelector('.css-e81eai')
competitor.location = location
}

results.push(competitor)
}
})

console.log(results)

No final, teremos um conjunto de objectos, e cada um deles conterá todos os concorrentes da página e os seus dados específicos.

Como pode ver, a recolha de dados do Yelp utilizando a WebScrapingAPI é bastante fácil. Temos de utilizar uma API de recolha de dados para obter o conteúdo HTML, analisar a resposta, obter as informações relevantes de cada elemento da página e adicionar tudo a uma lista.

Conhecer a sua concorrência sem qualquer trabalho adicional

Tentar criar um novo negócio hoje em dia exige muito mais do que ter um ótimo produto. As oportunidades são infinitas, dependendo da criatividade de cada um. Algumas das estratégias mais valiosas a que os empresários devem prestar atenção são:

  • criar uma presença em linha excecional
  • trabalhar para oferecer o maior valor pelo menor preço
  • ter um conhecimento completo das vantagens da concorrência

Todas estas estratégias podem revelar-se vitais para a atividade de uma pessoa. É bom saber que os scrapers da Web oferecem uma grande ajuda para resolver estes problemas. Adicionar automação ao processo de recolha de dados pode ser o passo mais fácil para melhorar o seu negócio.

Tentamos dar uma ajuda, criando as ferramentas necessárias para este tipo de trabalho. Obrigado por ler até ao fim e lembre-se que a WebScraping API tem um período de teste gratuito, após o qual os utilizadores são transferidos para o plano gratuito, para que possa testar a API até à exaustão sem gastar um cêntimo.

Notícias e actualizações

Mantenha-se atualizado com os mais recentes guias e notícias sobre raspagem da Web, subscrevendo a nossa newsletter.

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Artigos relacionados

miniatura
GuiasAPI SERP Scraping - Guia de início

Recolha sem esforço dados em tempo real dos motores de busca utilizando a API SERP Scraping. Melhore a análise de mercado, SEO e pesquisa de tópicos com facilidade. Comece hoje mesmo!

WebscrapingAPI
avatar do autor
WebscrapingAPI
7 min. de leitura
miniatura
Casos de utilizaçãoUtilização de Web Scraping para dados alternativos em finanças: Um guia completo para investidores

Explore o poder transformador da recolha de dados da Web no sector financeiro. Desde dados de produtos a análises de sentimentos, este guia oferece informações sobre os vários tipos de dados da Web disponíveis para decisões de investimento.

Mihnea-Octavian Manolache
avatar do autor
Mihnea-Octavian Manolache
13 min ler
miniatura
Casos de utilizaçãoXPath vs. seletores CSS

Os selectores XPath são melhores do que os selectores CSS para a recolha de dados da Web? Conheça os pontos fortes e as limitações de cada método e faça a escolha certa para o seu projeto!

Mihai Maxim
avatar do autor
Mihai Maxim
8 min. de leitura