¿Es posible incrustar la salida HTML representada en la salida de IPython?
Una forma es usar
from IPython.core.display import HTML
HTML('<a href="http://example.com">link</a>')
o (alias de celda multilínea IPython)
%%html
<a href="http://example.com">link</a>
Que devuelven un enlace formateado, pero
- Este enlace no abre un navegador con la página web desde la consola . Sin embargo, los portátiles IPython admiten renderizado honesto.
- No sé cómo representar el
HTML()
objeto dentro de, por ejemplo, una lista opandas
tabla impresa. Puedes hacerlodf.to_html()
, pero sin hacer enlaces dentro de las celdas. - Este resultado no es interactivo en la consola PyCharm Python (porque no es QT).
¿Cómo puedo superar estas deficiencias y hacer que la salida de IPython sea un poco más interactiva?
python
html
ipython
jupyter-notebook
Anton Tarasenko
fuente
fuente
HTML()
hace, pero todavía no pude resolver los elementos 1 y 2.Respuestas:
Esto parece funcionar para mí:
El truco es envolverlo también en "pantalla".
Fuente: http://python.6.x6.nabble.com/Printing-HTML-within-IPython-Notebook-IPython-specific-prettyprint-tp5016624p5016631.html
fuente
Hace algún tiempo, Jupyter Notebooks comenzó a quitar JavaScript del contenido HTML [ # 3118 ]. Aquí hay dos soluciones:
Servir HTML local
Si desea incrustar una página HTML con JavaScript en su página ahora, lo más fácil es guardar su archivo HTML en el directorio con su cuaderno y luego cargar el HTML de la siguiente manera:
Sirviendo HTML Remoto
Si prefiere una solución alojada, puede cargar su página HTML en un "depósito" de Amazon Web Services en S3, cambiar la configuración de ese depósito para que el depósito aloje un sitio web estático, luego use un componente Iframe en su cuaderno:
Esto representará su contenido HTML y JavaScript en un iframe, tal como puede hacerlo en cualquier otra página web:
fuente
Relacionado: Al construir una clase,
def _repr_html_(self): ...
se puede usar para crear una representación HTML personalizada de sus instancias:se renderizará como:
Para obtener más información, consulte los documentos de IPython .
Un ejemplo avanzado:
Rendirá:
fuente
Ampliando en @Harmon arriba, parece que puedes combinar las declaraciones
display
yprint
juntas ... si es necesario. O tal vez sea más fácil simplemente formatear todo su HTML como una cadena y luego usar display. De cualquier manera, buena característica.Produce algo como esto:
¡Hola Mundo!
Aquí hay un enlace:
www.google.com
algo más de texto impreso ...
Texto del párrafo aquí ...
fuente