我使用了BeautifulSoup for Python 3.3,成功地从网页中获取所需信息.我还使用BeautifulSoup生成新的HTML代码来显示这些信息.目前,我的Python程序打印出HTML代码,然后我必须复制、粘贴并保存为HTML文件,然后从那里,我可以在浏览器中测试它.

所以我的问题是,Python中有没有一种方法可以在web浏览器中启动BeautifulSoup生成的HTML代码,这样我就不必使用现在使用的复制粘贴方法了?

推荐答案

使用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)

可选使用NamedTemporaryFile(使文件最终被OS删除):

import tempfile
import webbrowser

html = '<html> ...  generated html string ...</html>'

with tempfile.NamedTemporaryFile('w', delete=False, suffix='.html') as f:
    url = 'file://' + f.name
    f.write(html)
webbrowser.open(url)

Python-3.x相关问答推荐

Pandas—在特定列上比较两行双框,并根据特定条件保留其中一行?

Python多处理池:缺少一个进程

PythonPandas 创建一个列并添加到DataFrame

以编程方式关闭jupyterlab内核

Python GUI:tkinter应用程序作为Windows的实时桌面

如何在 python 中将带有时区信息的时间戳转换为 utc 时间

使用Python按照其组/ID的紧密值的递增顺序映射数据框的两列

「Python Pandas」多级索引列和行匹配,如果列和行名称相似,则排除这些单元格中的值添加

Python3:是否可以将变量用作函数调用的一部分

将元组列表转换为以整个元组为键的字典列表

为什么我不能通过索引获取字典键?

参数化泛型不能与类或实例判断一起使用

Python - 如何从同一台客户端机器运行多个Flask应用程序

python3源的类图查看器应用程序

在数据类中创建类变量的正确方法

为什么 virtualenv 会有效地禁用 Python 3 制表符补全?

Python heapify() 时间复杂度

BeautifulSoup 的 Python 3 兼容性

三个参数的reduce函数

在 Python 中生成马尔可夫转移矩阵