Como criar um script que acessa uma página web a partir de um servidor linux sem interface
Vamos aprender como configura um navegador Chrome em modo sem interface gráfica. Acessar um site qualquer, obter e exibe o título da página no console.
Primeiramente, certifique-se de ter o navegador Chrome instalado em sua máquina. Utilize do comandos abaixo:
[wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb]
[sudo dpkg -i google-chrome-stable_current_amd64.deb]
[sudo apt-get install -f]
[google-chrome --version]
O código em python abaixo utiliza o Selenium para automação de navegação em navegadores. Ele configura o navegador Chrome para executar tarefas automaticamente em modo headless (sem interface gráfica).
[from selenium import webdriver
from selenium.webdriver.chrome.service import Servicefrom webdriver_manager.chrome import ChromeDriverManagerdef main():browserOptions = webdriver.ChromeOptions()browserOptions.add_argument('--no-sandbox')browserOptions.add_argument("--headless")browserOptions.add_argument("--window-size=1280,720")browserOptions.add_argument("--disable-gpu")browserOptions.add_argument('--disable-dev-shm-usage')browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=browserOptions)url = "https://limontec.com"browser.get(url)print(f"Page title: {browser.title}")if __name__ == "__main__":main()]
Antes de executar o código acima, instale as dependências necessárias com o comando:
[pip install selenium]
[pip install webdriver_manager]
Importações:
- webdriver: Usado para interagir com navegadores.
- Service: Facilita a configuração do driver para o navegador Chrome.
- ChromeDriverManager: Gerencia automaticamente o download e a configuração do ChromeDriver, eliminando a necessidade de configuração manual.
Opções adicionadas ao navegador para funcionar adequadamente em um ambiente de servidor:
- --no-sandbox: Desabilita o sandboxing para evitar restrições de segurança.
- --headless: Executa o navegador em modo sem interface gráfica.
- --window-size=1280,720: Define o tamanho da janela do navegador..
- --disable-gpu: Desativa o uso de GPU para renderização.
- --disable-dev-shm-usage: Reduz problemas de memória compartilhada em sistemas Linux.
COMENTÁRIOS