我使用了BeautifulSoup for Python 3.3,成功地从网页中获取所需信息.我还使用BeautifulSoup生成新的HTML代码来显示这些信息.目前,我的Python程序打印出HTML代码,然后我必须复制、粘贴并保存为HTML文件,然后从那里,我可以在浏览器中测试它.
所以我的问题是,Python中有没有一种方法可以在web浏览器中启动BeautifulSoup生成的HTML代码,这样我就不必使用现在使用的复制粘贴方法了?
我使用了BeautifulSoup for Python 3.3,成功地从网页中获取所需信息.我还使用BeautifulSoup生成新的HTML代码来显示这些信息.目前,我的Python程序打印出HTML代码,然后我必须复制、粘贴并保存为HTML文件,然后从那里,我可以在浏览器中测试它.
所以我的问题是,Python中有没有一种方法可以在web浏览器中启动BeautifulSoup生成的HTML代码,这样我就不必使用现在使用的复制粘贴方法了?
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)