Estou tentando descobrir como, a partir de um shell linux, extrair os links de uma página da Web em que os links aparecem somente após clicar em um botão na página da Web, por exemplo, os "Ativos" no github. Se eu baixar a página com wget
, ela não conterá nenhum link dos ativos, ou seja,
wget -O /dev/stdout "https://github.com/yuzu-emu/yuzu-mainline/releases/latest" 2>/dev/null | grep ".AppImage"
não retorna o link. De maneira mais geral, várias páginas da Web contêm elementos que são mostrados somente após a interação; como se obtém o html com esses elementos revelados?
Para seu exemplo específico , você seria mais bem servido usando a API do github, em vez de tentar raspar a página da web. Por exemplo:
Isso retornará um blog JSON com informações sobre a versão (incluindo uma lista de ativos) que você pode analisar usando
jq
(ou seu idioma favorito com suporte a JSON).De maneira mais geral, se você deseja acessar o conteúdo de uma página que é atualizada dinamicamente via Javascript após o carregamento da página, você não poderá fazer isso facilmente a partir do shell.
Você normalmente precisa de algo como Playwright ou Selenium que permita o controle programático de navegadores, e essas ferramentas geralmente exigem que você trabalhe com uma linguagem mais capaz (Javascript, Python, etc).