A raspagem da web é a extração de dados de um site de uma forma estruturada. É um método útil em muitas situações:
- Gerar arquivos de prospecção,
- Enriqueça um conjunto de dados,
- Personalizar a experiência do cliente automaticamente, etc.
Neste artigo, apresentaremos 10 métodos e ferramentas para a raspagem da web. Desde a eterna cópia e cola (que funciona muito melhor do que você imagina), até métodos mais complexos para projetos maiores. 7 desses 10 métodos não exigem nenhum (ou quase nenhum) conhecimento prévio.
Sommaire
/pt-br/1. Copiar e colar
Pode parecer bobagem, mas muitas vezes esquecemos como funciona bem copiar e colar. Você pode copiar e colar todas as tabelas que estão na Wikipedia em um arquivo Excel ou em uma planilha do Google, por exemplo. Se você estiver procurando por códigos postais, nomes próprios comuns, códigos telefônicos, leva um minuto com este método. Este trabalho leva literalmente um minuto, e eu me vi procurando por um padrão complicado em uma mesa ou grade várias vezes, quando uma cópia e uma pasta fariam o truque. A automação é boa, mas às vezes leva muito mais tempo do que um método tão simples e eficiente quanto copiar e colar.
- Extremamente fácil de usar,
- Muito rápido de fazer.
- Muito limitado.
#2. CaptainData
LinkClump é uma das melhores extensões do Cromo para impulsionar suas vendas. Usar isso é uma brisa! Com LinkClump, você pode :
- Recuperar os links e seus títulos muito facilmente,
- Selecione apenas os links importantes em uma determinada página,
- Baixar banco de imagens ou de arquivos (em combinação com TabSave).
Se você olhar ao redor, há muitas coisas que na verdade são apenas links para páginas da web por razões de SEO. Por exemplo, a maioria dos diretórios coloca um link para uma página infantil em todos os seus títulos. Com o LinkClump, você pode obter os URLs e títulos de todas estas páginas em um piscar de olhos. O caso de uso mais comum é a página de resultados do google, mas existem muitos outros.
- Extremamente fácil de usar,
- Uma extensão cromada de fácil acesso e com grande economia de espaço.
- Você pode fazer o download de uma grande quantidade de dados em um instante.
- Bastante limitado
#4. TabSave: raspar um banco de imagens ou arquivos
Os bancos de imagens ou arquivos são geralmente apresentados na forma de uma imagem com um link para a fonte, novamente para ter cuidado com SEO. Assim, você pode usar o LinkClump para obter todos os links das fontes. É aqui que entra a TabSave. Basta colar todos esses links no TabSave, e clicar em “Download”. Poderoso o suficiente para recuperar grandes quantidades de arquivos de mídia da web.
Conselhos do Salesdorado
Ir para cromo://settings/?search=downloads. Em Downloads > Localização, especifique uma pasta de destino criada para a ocasião. Todos os arquivos baixados por seu navegador irão agora para esta pasta. Uma boa maneira de evitar a bagunça de sua pasta de Downloads. Na condição de que você se lembre de restaurar a pasta padrão após a operação.
- Combina perfeitamente com LinkClump,
- Você não tem que fazer nada além de pressionar download para obter seus dados.
- Tenha cuidado para não carregar demasiadas URLs cada vez. Quando cai, cai bem.
#5. Planilhas do Google: menos de 1000 linhas, mas com alguns elementos complicados a serem recuperados
Aqui novamente, um caso de uso bastante “bobo”, mas o Google Spreadsheets permite que você faça muitas coisas graças à função ImportXML. Graças à sintaxe do XPath (muito importante no webscraping, e não específica para este uso pelo Google Spreadsheets), você pode obter qualquer elemento de uma página da web muito facilmente.
Você pode raspar muito facilmente usando xPath, Google Sheets e a função =importxml. Embora não amplamente utilizado, as consultas xPath podem ser usadas para recuperar dados estruturados do conteúdo das páginas web.
Você pode, por exemplo, recuperar todos os títulos H2 do artigo que você está lendo escrevendo =importxml(“https://salesdorado.com/automatisation/meilleurs-outils-webscraping/”, “//h2”) para uma célula em uma planilha do Google Sheets.
Isto é o que é usado no placar principal do Salesdorado para obter o título da página inicial do domínio associado ao endereço de e-mail de um contato.
Conselhos do Salesdorado
Note que a utilização de uma planilha abre a porta para processos dinâmicos para atualizar ou enriquecer seus dados de forma dinâmica.
- Muito mais flexível
- Pode ser usado em fluxo (não apenas em lote)
- Requer conhecimento do Xpath (pode ser adquirido bastante rapidamente).
- Dificilmente viável além de 1000 linhas.
Experimente o Google Spreadsheets
#6. WebScraper: para novatos que lidam com grandes pedaços (mais de 1000 linhas)
O Webscraper é uma ferramenta sem código, bastante simples de usar, que na verdade permite ir bastante longe. Você terá que ser paciente para criar os padrões e a execução da sucata em si é… muito lenta. Mas o resultado está aí, os tutoriais são fáceis de aprender (mesmo sem ter escrito uma linha de código em sua vida), e você pode fazer coisas mais sérias:
- Paginação,
- Interações com a página, etc.
- Simples de usar e bastante potente
- Nenhum Xpath para escrever
- Bastante lento, tanto para montar, como para correr
#7. SpiderPro: para novatos com 38 dólares a mais
Spider Pro é uma das ferramentas mais fáceis de usar quando se raspa a Internet. Basta clicar no que você está interessado para transformar os websites em dados organizados, que podem então ser baixados no formato JSON / CSV. Uma ferramenta perfeita para automatizar o desenvolvimento de seus negócios. É semelhante ao Webscraper com uma diferença: o download do Spider Pro custará $38 (pagamento único).
- Muito fácil de usar
- Muito mais rápido de montar do que o webScraper
- É uma ferramenta de pagamento
#8. Apify : para raspar entre 1000 e 10000 linhas – Pequena cultura web necessária (sem código)
Já mencionamos oApify em nossas ferramentas de prospecção de e-mail, para obuscador de e-mails Salesdorado.
Apify é uma plataforma que permite executar código em uma escala média, sem ter que gerenciar nada na configuração do servidor. Às vezes supérfluo, mas muitas vezes valioso para evitar a lógica de rotação IP, etc. Acima de tudo, existe uma biblioteca muito completa do que eles chamam de “atores” – ou seja, bots pré-configurados para os casos de uso mais comum. Graças ao Apify you :
- Você economizará muito tempo,
- Obtenha um desempenho incomparável com o PhantomBuster (cerca de 10 vezes mais rápido no Apify em nossa experiência),
- Gastar muito pouco.
Além disso, o Apify permite que você alimente seus bots em seus processos (através do API deles) para enriquecer ou atualizar dinamicamente seus conjuntos de dados.
Note que você pode usar o Apify gratuitamente por até 10 horas por mês. Apify oferece um pacote a $49 por mês por 100h de máquina onde seus dados serão armazenados por 14 dias. Por 149 dólares por mês, você terá uma máquina de 400h. Finalmente, o pacote Business a US$ 499 por mês lhe dará 2000 horas de máquina por mês.
- Fácil de usar,
- Irá economizar seu tempo
- Requer pelo menos uma cultura de web bastante boa.
#9. Raspagem: para ir rápido, e duro
Scrapy é uma pequena referência para qualquer um que já tenha escrito Python. É uma estrutura que permite que você raspe rápida e facilmente. Você pode executá-lo localmente, em seus servidores / lambdas, ou em nuvens de raspagem. A grande limitação é para páginas geradas em Javascript, que é usado cada vez mais frequentemente. Neste caso, Scrapy recomenda (precisamente) procurar fontes de dados diretamente usando a “Rede” de seu navegador.
A idéia é que a página é de fato obrigada a executar uma consulta para obter os dados a serem exibidos e que, de fato, muitas vezes é possível fazer essa consulta diretamente. No entanto, isto nem sempre é possível. Há então uma solução, muito mais complicada: executar o Javascript com um navegador.
- Uma ferramenta de referência para os entusiastas da Python
- Estrutura muito eficaz e bem documentada
- Limite nas páginas geradas em Javascript
#10. Para projetos maiores: Marionetista ou Selenium
O problema das páginas Javascript geradas dinamicamente é cada vez mais comum, e se você não pode chamar a fonte de dados diretamente (geralmente 403), há apenas uma solução: usar um navegador. Lembre-se de verificar se um bot ainda não foi escrito por alguém no Apify (ou em outro lugar), ele funciona com bastante regularidade e evita problemas.
Para isso, em Salesdorado, usamos o Puppeteer no NodeJS porque é muito simples de escrever e notavelmente bem documentado. Os amantes de Python preferem ir para Selenium. Para a execução, você tem duas opções:
- Você liga para muitos sites, algumas vezes cada um: encontre um lugar com boa velocidade na Internet, e administre tudo localmente. Você economizará horas de problemas, e alguns dólares.
- Você chama um site, muitas vezes: este é o caso mais irritante, e o mais comum também. Veja AWS Lambda para lidar com a rotação IP sem ter que fazer isso (os lambdas usam um IP diferente para cada execução, abaixo de uma certa freqüência de chamada). Para pequenos projetos, o Apify pode ser uma opção, mas pode ficar caro rapidamente.
- Poderoso, permite transmitir quase todos os sites
- Custoso de se instalar (em tempo ou dinheiro).
- Pré-requisitos de conhecimento necessários