É possível incorporar a saída HTML renderizada na saída IPython?
Uma maneira é usar
from IPython.core.display import HTML
HTML('<a href="http://example.com">link</a>')
ou (alias de célula multilinha do IPython)
%%html
<a href="http://example.com">link</a>
Que retornam um link formatado, mas
- Esse link não abre um navegador com a própria página da Web no console . Os notebooks IPython suportam renderização honesta, no entanto.
- Não sei como renderizar
HTML()
objetos em, digamos, uma lista oupandas
tabela impressa. Você pode fazer issodf.to_html()
, mas sem fazer links dentro das células. - Esta saída não é interativa no console PyCharm Python (porque não é QT).
Como posso superar essas deficiências e tornar a saída do IPython um pouco mais interativa?
python
html
ipython
jupyter-notebook
Anton Tarasenko
fonte
fonte
HTML()
faz, mas eu ainda não podia resolver os itens 1 e 2.Respostas:
Isso parece funcionar para mim:
O truque é envolvê-lo também em "exibição".
Origem: http://python.6.x6.nabble.com/Printing-HTML-within-IPython-Notebook-IPython-specific-prettyprint-tp5016624p5016631.html
fonte
Algum tempo atrás, os Jupyter Notebooks começaram a remover o JavaScript do conteúdo HTML [ # 3118 ]. Aqui estão duas soluções:
Exibição de HTML local
Se você deseja incorporar uma página HTML com JavaScript na sua página agora, a coisa mais fácil é salvar seu arquivo HTML no diretório do seu notebook e, em seguida, carregar o HTML da seguinte forma:
Exibição de HTML remoto
Se você preferir uma solução hospedada, poderá fazer upload da sua página HTML para um "bucket" do Amazon Web Services no S3, alterar as configurações desse bucket para tornar o bucket um site estático e usar um componente Iframe no notebook:
Isso renderizará seu conteúdo HTML e JavaScript em um iframe, assim como em qualquer outra página da web:
fonte
Relacionado: Ao construir uma classe,
def _repr_html_(self): ...
pode ser usado para criar uma representação HTML personalizada de suas instâncias:renderizará como:
Para mais informações, consulte os documentos do IPython .
Um exemplo avançado:
Renderizará:
fonte
Expandindo @Harmon acima, parece que você pode combinar o
display
eprint
declarações juntos ... se você precisar. Ou talvez seja mais fácil formatar todo o HTML como uma sequência e usar a exibição. De qualquer maneira, bom recurso.Produz algo como isto:
Olá Mundo!
Aqui está um link:
www.google.com
mais algum texto impresso ...
Texto do parágrafo aqui ...
fonte