import requests
from bs4 import BeautifulSoup
import logging
# Configuração do logging
logging.basicConfig(filename='vfs_errors.log', level=logging.ERROR,
format='%(asctime)s:%(levelname)s:%(message)s')
# URL do site da VFS Global para o seu país (substitua pela URL correta)
url = "https://www.vfsglobal.com/co.ao/'
def buscar_calendario():
try:
# Realiza a requisição para o site
response = requests.get(url)
response.raise_for_status() # Lança um erro se a requisição falhar
except requests.exceptions.HTTPError as http_err:
logging.error(f"Erro HTTP: {http_err}")
print("Erro ao acessar o site: Erro HTTP.")
return []
except requests.exceptions.ConnectionError as conn_err:
logging.error(f"Erro de Conexão: {conn_err}")
print("Erro de conexão ao acessar o site.")
return []
except requests.exceptions.Timeout as timeout_err:
logging.error(f"Erro de Timeout: {timeout_err}")
print("O tempo de requisição expirou.")
return []
except requests.exceptions.RequestException as req_err:
logging.error(f"Erro ao acessar o site: {req_err}")
print("Erro desconhecido ao acessar o site.")
return []
try:
soup = BeautifulSoup(response.text, 'html.parser')
# Localize a seção do calendário (ajuste conforme necessário)
# Exemplo: encontrar uma div com a classe específica
calendar_section = soup.find("div", class_="calendar-class") # Substitua pela classe correta
if not calendar_section:
logging.warning("Seção do calendário não encontrada.")
print("Seção do calendário não encontrada.")
return []
# Aqui você poderá encontrar os elementos de data
dates = calendar_section.find_all("span", class_="date-class") # Altere conforme necessário
available_dates = [date.text for date in dates]
if not available_dates:
logging.info("Nenhuma data disponível encontrada.")
print("Nenhuma data disponível encontrada.")
return available_dates
except Exception as e:
logging.error(f"Ocorreu um erro ao processar o conteúdo: {e}")
print("Ocorreu um erro ao processar a página.")
return []
if __name__ == "__main__":
print("Buscando datas disponíveis...")
datas_disponiveis = buscar_calendario()
if datas_disponiveis:
print("Datas disponíveis:")
for data in datas_disponiveis:
print(data)
else:
print("Nenhuma data disponível encontrada.")
https://www.vfsglobal.com/co.ao/' 'calendar-class'
e 'date-class'
.requests
e beautifulsoup4
pip install requests beautifulsoup4
python vfs_calendar_checker.py