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 Service
from webdriver_manager.chrome import ChromeDriverManager
def 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.