Voltar ao blogue
Guias
Mihnea-Octavian ManolacheLast updated on Mar 31, 20269 min read

Guia de início rápido da API de Web Scraping

Guia de início rápido da API de Web Scraping

A WebScrapingAPI oferece um conjunto de soluções de web scraping. O nosso principal produto é um web scraper de uso geral, concebido para recolher dados em tempo real a partir de qualquer site. Como irá descobrir ao longo deste guia, a ferramenta inclui várias funcionalidades, permitindo-lhe passar despercebida pelos sistemas anti-bot. Dada a sua vasta gama de funcionalidades, este guia foi concebido para o ajudar a dar os primeiros passos na utilização da WebScrapingAPI. Aqui estão alguns dos tópicos que iremos abordar:

  • Trabalhar com o painel de controlo
  • Compreender os parâmetros e funcionalidades da API
  • Envio de pedidos básicos à API
  • Configurar um web scraper complexo utilizando os SDKs

Porquê inscrever-se na API de Web Scraping

Existem inúmeras razões pelas quais deve utilizar a Web Scraping API em vez de um scraper comum. No entanto, baseamo-nos no feedback para decidir o que nos torna a melhor escolha. E aqui estão algumas das razões pelas quais os nossos clientes nos escolheram:

  • Suporte profissional - O nosso suporte é prestado por engenheiros de software reais que trabalham diretamente com a API. Assim, quando nos contacta para obter ajuda, garantimos que recebe as melhores respostas possíveis. Além disso, se encontrar algum problema, o engenheiro que o atenderá provavelmente será capaz de o resolver em pouco ou nenhum tempo e implementar a correção em produção.
  • Facilidade de utilização - Criar um web scraper pode ser um desafio. É necessário ter em conta vários proxies, evasões, captchas, navegadores, etc. Com a Web Scraping API, obtém tudo isso (e muito mais) com um «clique num botão».
  • Escalabilidade - Quando criámos o nosso produto, uma das nossas principais prioridades foi garantir que apresentávamos resultados independentemente do número total de pedidos que recebêssemos. Ao inscrever-se na API de Web Scraping, está a inscrever-se em toda a nossa infraestrutura. E isso inclui proxies, navegadores, clientes HTTP e muito mais.

Inscrição num Scraper Gratuito Baseado na Nuvem

Para se inscrever na API de Web Scraping, basta um endereço de e-mail válido. Além disso, todos os utilizadores têm direito a um período de teste gratuito de 7 dias com acesso total às funcionalidades da API, limitado a 1000 créditos de API. Após estes 7 dias, continuará a ter acesso a um nível gratuito, que lhe oferece 1000 créditos de API por mês, mas com funcionalidades de API limitadas. Se quiser continuar a utilizar a versão completa do nosso scraper web baseado na nuvem, oferecemos-lhe planos de preços flexíveis. Pode consultar a página de Preços para obter informações atualizadas sobre os preços. Em destaque, oferecemos:

  • um plano Starter, com até 100 000 créditos de API e 20 chamadas simultâneas
  • um plano Grow, com até 1 000 000 de créditos API e 50 chamadas simultâneas
  • um plano Business, com até 3 000 000 de créditos API e 100 chamadas simultâneas
  • um plano Pro, com até 10 000 000 de créditos API e 500 chamadas simultâneas
  • um plano Enterprise personalizado, a ser discutido com base nas suas necessidades específicas

Para começar, visite a nossa página de registo aqui e crie simplesmente uma conta gratuita.

Compreender o Painel

A inscrição no nosso Painel de Controlo não lhe dá automaticamente acesso aos nossos produtos. Como poderá ver, a barra lateral esquerda apresenta algumas opções associadas aos nossos produtos. Uma vez que este guia se refere ao web scraper de uso geral, para criar uma subscrição para este serviço, aceda à API de Web Scraping e clique no botão «Obter Versão de Avaliação Gratuita». Assim que a subscrição for criada, ser-lhe-á fornecida uma chave API. Certifique-se de a guardar em segurança, pois esta será a sua identificação única nos nossos sistemas. Poderá então aceder à página de estatísticas e ao Playground.

Noções básicas da nossa API de Web Scraper

Existem três formas de interagir com o nosso web scraper, duas das quais são, digamos, «programáticas» e uma que é mais «amigável para principiantes». As duas primeiras implicam aceder à API através de clientes HTTP ou através dos nossos SDKs. A terceira consiste em utilizar o Playground fornecido no Painel de Controlo. Abordaremos estas opções em breve, mas antes disso, é importante compreender como a API funciona. Só assim poderá utilizar todo o potencial da API de Web Scraping. Vamos, então, começar pelo básico:

Autenticação de Pedidos

A forma como autenticamos os pedidos provenientes de utilizadores registados é ativando o parâmetro de URL `api_key`. A chave API única está associada à sua conta e contém informações sobre permissões, utilização, etc.

Tenha em atenção que cada produto em que se inscreve tem uma chave API única associada. Por exemplo, não pode utilizar a chave API do seu web scraper de uso geral na API SERP ou vice-versa.

Dito isto, para fazer o scraping de um URL como utilizador autenticado, terá de aceder ao seguinte recurso:

https://api.webscrapingapi.com/v1?api_key=<YOUR_UNIQUE_API_KEY>

Parâmetros da API

Na nossa API, os parâmetros de consulta são utilizados para personalizar o scraper de acordo com as suas necessidades. Compreender como cada parâmetro funciona permitirá-nos utilizar todo o potencial da nossa API de web scraper. Mantemos aqui uma documentação atualizada dos parâmetros da API. No entanto, também vamos aprofundar o assunto aqui, para compreender melhor como os parâmetros de consulta funcionam com a API de Web Scraping. Dito isto, existem três tipos de parâmetros: obrigatórios, padrão e opcionais. Os obrigatórios são bastante simples:

  • O parâmetro `api_key` que discutimos acima
  • O parâmetro `url`, que representa o URL que pretende extrair

Tenha em atenção que o valor do parâmetro `url` deve ser uma URL válida, não um nome de domínio, e, idealmente, deve estar codificado como URL. (por exemplo, https%3A%2F%2Fwebscrapingapi.com)

No que diz respeito aos parâmetros padrão, utilizámos dados históricos para aumentar a taxa de sucesso da nossa API (e, implicitamente, do seu projeto). Dados internos mostram que a melhor configuração para web scraping é utilizar um navegador web real emparelhado com um endereço IP residencial. Por isso, os parâmetros padrão da nossa API são:

  • `render_js=1` - para iniciar um navegador real (não um cliente HTTP básico)
  • `proxy_type=residential` - para aceder ao alvo através de um endereço IP residencial (ativado apenas se o seu plano atual suportar proxies residenciais)

É claro que também pode substituir o valor destes parâmetros, embora não o encorajemos. O scraping com um cliente HTTP básico e proxies de centro de dados geralmente leva o site alvo a detetar a atividade de scraping e a bloquear o acesso.

A seguir, iremos discutir os parâmetros opcionais. Uma vez que documentámos todos os parâmetros na nossa Documentação, iremos discutir apenas os parâmetros mais utilizados por enquanto:

  • Parâmetro: render_js Descrição: Ao ativar este parâmetro, irá aceder ao URL de destino através de um navegador real. Tem a vantagem de renderizar ficheiros JavaScript. É uma ótima escolha para fazer scraping em sites com muito JavaScript (como aqueles construídos com ReactJS, por exemplo). Documentação: [aqui ]
  • Parâmetro: proxy_type Descrição: Utilizado para aceder ao URL alvo através de um endereço IP residencial ou de um centro de dados. Documentação: [aqui ]
  • Parâmetro: stealth_mode Descrição: O web scraping não é uma atividade ilegal. No entanto, alguns sites tendem a bloquear o acesso a software automatizado (incluindo web scrapers). A nossa equipa concebeu um conjunto de ferramentas que torna quase impossível para os sistemas anti-bot detetarem o nosso web scraper. Pode ativar estas funcionalidades utilizando o parâmetro stealth_mode=1. Documentação: [aqui ]
  • Parâmetro: country Descrição: Utilizado para aceder ao seu alvo a partir de uma localização geográfica específica. Consulte os países suportados [aqui]. Documentação: [aqui ]
  • Parâmetro: timeout Descrição: Por predefinição, encerramos um pedido (e não cobramos se falhar) após 10 segundos. Com determinados alvos, poderá querer aumentar este valor até 60 segundos. Documentação: [aqui ]
  • Parâmetro: device Descrição: Pode utilizar isto para fazer com que o seu scraper pareça um «desktop», «tablet» ou «móvel». Documentação: [aqui ]
  • Parâmetro: wait_until Descrição: Em termos simples, assim que chega ao URL de destino, congela o scraper até que um determinado evento ocorra. O conceito que seguimos é melhor descrito [aqui]. Documentação: [aqui ]
  • Parâmetro: wait_for Descrição: Este parâmetro congela o scraper durante um período de tempo especificado (que não pode exceder 60s). Documentação: [aqui ]
  • Parâmetro: wait_for_css Descrição: Congela o scraper até que um determinado seletor CSS (ou seja, classe ou ID) esteja visível na página. Documentação: [aqui ]
  • Parâmetro: session Descrição: Permite-lhe utilizar o mesmo proxy (endereço IP) em várias solicitações. Documentação: [aqui ]

Códigos de resposta

Um dos aspetos mais importantes que deve saber sobre os códigos de resposta é que apenas cobramos pelas respostas bem-sucedidas. Portanto, se a sua solicitação resultar em qualquer coisa que não seja o código de estado 200, não lhe será cobrado. Além disso, os erros da API estão documentados aqui e, como poderá ver, seguem os códigos de estado HTTP normais. Para citar alguns:

  • 400: Pedido inválido - Quando envia parâmetros inválidos, por exemplo
  • 401: Não autorizado - Quando não consegue enviar uma `api_key` ou a chave da API é inválida
  • 422: Entidade Não Processável - Quando a API não consegue satisfazer o pedido (como, por exemplo, quando o seletor CSS que esperava não está visível na página)

Interagir com a API do Web Scraper

Como referido, existem basicamente três formas de interagir com a API do web scraper. Em primeiro lugar, utilizar os SDKs ou aceder à API através de clientes HTTP depende mais da linguagem (ou tecnologia) e requer alguns conhecimentos técnicos. Uma interface mais acessível para principiantes está disponível no nosso Painel de Controlo, na secção API Playground. Esta ferramenta permite-lhe experimentar o nosso Web Scraper, testá-lo e compreender como utilizar os parâmetros a seu favor, antes de avançar para implementações programáticas ou funcionalidades avançadas. Alguns aspetos-chave do Playground são:

  • Corrige automaticamente incompatibilidades de parâmetros (por exemplo, `stealth_mode=1` é incompatível com `render_js=0`)
  • Fornece exemplos de código reais para várias linguagens de programação que pode utilizar no seu projeto
  • Apresenta parâmetros recomendados, com base nos nossos testes internos e dados históricos de pedidos anteriores, para que possa aumentar a taxa de sucesso do seu projeto

Funcionalidades avançadas de Web Scraping

Para utilizadores avançados, a nossa API está repleta de várias funcionalidades que a tornam personalizável e pronta para qualquer projeto de scraping. Mais uma vez, uma boa fonte de informação é a nossa documentação oficial. No entanto, eis alguns dos aspetos que devemos destacar:

POST, PUT e PATCH

Com a API de web scraping, não está limitado a utilizar apenas pedidos GET. Caso o seu projeto de scraping precise de criar, substituir ou atualizar recursos, pode utilizar os nossos pedidos POST, PUT ou PATCH. Um aspeto fundamental destes pedidos é que também pode utilizar `render_js=1`, o que significa um navegador web real, e não um simples cliente HTTP. Um exemplo de pedido POST é:

curl --request POST --url "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fpost" --data "{
  "foo": "bar"
}"

Modo Proxy

Também pode utilizar a nossa API como proxy para fazer scraping da URL pretendida. Para aceder à API como proxy, tem de ter em conta o seguinte:

  • O nome de utilizador para autenticar com o proxy é sempre definido como `webscrapingapi`, seguido dos parâmetros que pretende ativar, separados por pontos.
  • A palavra-passe é sempre a sua chave API pessoal

Aqui está um exemplo de URL que pode utilizar para aceder ao scraper da Web através do nosso Modo Proxy:

https://webscrapingapi.<parameter_1.parameter_2.parameter_n>:<YOUR_API_KEY>@proxy.webscrapingapi.com:8000

Conclusões

A API de Web Scraping oferece um conjunto de poderosas ferramentas de scraping, apoiadas por uma equipa de engenheiros e prontas a utilizar. Está repleta de dezenas de funcionalidades, tornando-a uma solução de web scraping personalizável. Além disso, pode integrar o web scraper na nuvem de uso geral com qualquer linguagem de programação ou tecnologia, uma vez que devolve HTML bruto ou JSONs analisados. Além disso, a nossa extensa documentação e repositórios públicos no GitHub devem ajudá-lo a dar início ao seu projeto num instante.

Esperamos que este guia seja um bom ponto de partida para si e lembre-se de que o nosso apoio está sempre disponível caso tenha alguma dúvida. Estamos ansiosos por ser o seu parceiro de sucesso!

Sobre o autor
Mihnea-Octavian Manolache, Desenvolvedor Full Stack @ WebScrapingAPI
Mihnea-Octavian ManolacheDesenvolvedor Full Stack

Mihnea-Octavian Manolache é engenheiro Full Stack e DevOps na WebScrapingAPI, onde desenvolve funcionalidades do produto e mantém a infraestrutura que garante o bom funcionamento da plataforma.

Comece a construir

Pronto para expandir a sua recolha de dados?

Junte-se a mais de 2.000 empresas que utilizam a WebScrapingAPI para extrair dados da Web à escala empresarial, sem quaisquer custos de infraestrutura.