una - parseo de datos python
Inicie el código HTML en el navegador(generado por BeautifulSoup) directamente desde Python (3)
(esto creció lo suficiente, pensé que debería dividirlo como una respuesta separada :)
Como señala @reptilicus, puede usar el módulo http.server siguiente manera:
Cree un directorio de archivos web y guarde su archivo .html en él.
Abra una ventana de línea de comandos y haga
cd /my/web/directory python -m http.server 8000
Apunte su navegador a
http://127.0.0.1:8000
Esto solo funciona para archivos estáticos; no ejecutará su script y devolverá los resultados (como lo hace Flask).
He utilizado BeautifulSoup for Python 3.3 para extraer con éxito la información deseada de una página web. También he usado BeautifulSoup para generar un nuevo código HTML para mostrar esta información. Actualmente, mi programa Python imprime el código HTML, que luego tengo que copiar, pegar y guardar como un archivo HTML, y desde allí, puedo probarlo en un navegador.
Entonces, mi pregunta es esta: ¿hay una manera en Python de lanzar el código HTML generado por BeautifulSoup en un navegador web para que no tenga que pasar por el método de copiar y pegar que uso ahora?
Use Flask para convertir su código en una aplicación web local:
from flask import Flask
app = Flask(__name__)
@app.route(''/'')
def scrape_and_reformat():
# call your scraping code here
return ''<html><body> ... generated html string ... </body></html>''
if __name__ == ''__main__'':
app.run()
Ejecute el script y apunte su navegador a http://127.0.0.1:5000/
.
Utilizando webbrowser.open
:
import os
import webbrowser
html = ''<html> ... generated html string ...</html>''
path = os.path.abspath(''temp.html'')
url = ''file://'' + path
with open(path, ''w'') as f:
f.write(html)
webbrowser.open(url)