Python - BS4 - Criar um analisador DOM e JavaScript via terminal
Canal Qb

Para criar um navegador simples usando Python, você pode usar a biblioteca requests para fazer solicitações HTTP para uma página da web e a biblioteca beautifulsoup4 para analisar o DOM da página. Para visualizar o Javascript, você pode usar a biblioteca pyv8.

Aqui está um exemplo básico de como isso pode ser feito: 
import requests
from bs4 import BeautifulSoup
from PyV8 import JSContext

# solicita a página da web
response = requests.get("https://www.example.com")

# analisa o DOM da página
soup = BeautifulSoup(response.content, 'html.parser')

# encontra todos os elementos <script> na página
scripts = soup.find_all('script')

# executa cada script usando PyV8
with JSContext() as ctxt:
    for script in scripts:
        ctxt.eval(script.string)

# imprime o DOM da página
print(soup.prettify())
Este código solicita a página da web "https://www.example.com", analisa o DOM da página usando beautifulsoup4, encontra todos os elementos <script> na página e executa cada script usando PyV8. Em seguida, ele imprime o DOM da página na tela.

Note que a biblioteca PyV8 foi descontinuada em 2014 e não é mais mantida. Uma alternativa moderna seria usar a biblioteca PyExecJS, que fornece uma interface para várias engines JavaScript, incluindo o V8, que é o engine usado pelo Google Chrome.