Se você costuma buscar dados de sites, provavelmente deve considerar automatizar o processo. Às vezes chamado de “web scraping”, o processo é comum para sites que não fornecem uma API ou feed formal. Claro, você não chegará a lugar nenhum se o site que está tentando buscar não estiver disponível.
Se você administra seu próprio site, provavelmente já teve que lidar com tempo de inatividade antes. Pode ser frustrante, fazendo com que você perca visitantes e interrompa qualquer atividade pela qual seu site possa ser responsável. Em tais circunstâncias, vale a pena verificar facilmente a disponibilidade do seu site.
Python é uma ótima linguagem para scripts, e sua sintaxe concisa e legível torna a implementação de um verificador de site uma tarefa simples.
Criando seu verificador de site personalizado
O verificador de sites é feito sob medida para acomodar vários sites ao mesmo tempo. Isso permite que você troque facilmente os sites com os quais não se importa mais ou comece a verificar os sites que você lançará no futuro. O verificador é um “aplicativo esqueleto” ideal no qual você pode construir mais, mas demonstra uma abordagem básica para buscar dados da web.
Importar bibliotecas em Python
Para iniciar o projeto, você deve importar o solicitações de biblioteca em Python com o importar função.
importar solicitações de
A biblioteca Requests é útil para comunicação com sites. Você pode usá-lo para enviar solicitações HTTP e receber dados de resposta.
Armazenar os URLs do site em uma lista
Depois de importar a biblioteca, você deve definir e armazenar as URLs do site em uma lista. Esta etapa permite que você retenha vários URLs, que você pode verificar com o verificador de sites.
importar solicitações de
site_url = [
" https://www.google.co.dentro",
" https://www.yahoo.com",
" https://www.amazon.co.dentro",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]
A variável URL_do site armazena a lista de URLs. Dentro da lista, defina cada URL que você deseja verificar como uma string individual. Você pode usar os URLs de exemplo no código para teste ou substituí-los para começar a verificar seus próprios sites imediatamente.
Em seguida, armazene as mensagens para Códigos de resposta HTTP. Você pode mantê-los em um dicionário e indexar cada mensagem por seu código de status correspondente. Seu programa pode usar essas mensagens em vez de códigos de status para melhor legibilidade.
estado = {
200: "Site disponível",
301: "Redirecionamento permanente",
302: "Redirecionamento temporário",
404: "Não encontrado",
500: "Erro do Servidor Interno",
503: "Serviço não disponível"
}
Criando um loop para verificar o status do site
Para verificar cada URL, você vai querer percorrer a lista de sites. Dentro do loop, verifique o status de cada site enviando uma solicitação por meio da biblioteca de solicitações.
por URL dentro site_url:
tentar:
web_response = request.get (url)
print (url, status[web_response.status_code])
exceto:
print (url, status[web_response.status_code])
Onde:
- para URL...itera sobre a lista de URLs.
- URL é a variável à qual o loop for atribui cada URL.
- tente/excetotrata quaisquer exceções que possa surgir.
- web_response é uma variável que fornece uma propriedade com o código de status da resposta
O trecho de código inteiro
Se você preferir revisar todo o código de uma só vez, aqui está uma lista completa de código para referência.
importar solicitações de
site_url = [
" https://www.google.co.dentro",
" https://www.yahoo.com",
" https://www.amazon.co.dentro",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]estado = {
200: "Site disponível",
301: "Redirecionamento permanente",
302: "Redirecionamento temporário",
404: "Não encontrado",
500: "Erro do Servidor Interno",
503: "Serviço não disponível"
}por URL dentro site_url:
tentar:
web_response = request.get (url)
print (url, status[web_response.status_code])
exceto:
print (url, status[web_response.status_code])
E aqui está um exemplo de execução do código:
Capacidades de codificação do Python no Web Scraping
As bibliotecas de terceiros do Python são ideais para tarefas como web scraping e busca de dados via HTTP.
Você pode enviar solicitações automatizadas a sites para realizar vários tipos de tarefas. Isso pode incluir ler manchetes de notícias, baixar imagens e enviar e-mails automaticamente.