在IPython笔记本和qtconsole中对beautifulsoup对象的定制渲染
项目描述
IPython-BeautifulSoup
IPython-BeautifulSoup是一个用于在IPython笔记本和qtconsole中显示BeautifulSoup HTML/XML对象的IPython扩展,可以将其作为美化并具有语法高亮的HTML块显示。
语法高亮是通过Pygments实现的。
安装
只需运行
pip install "ipython-beautifulsoup[bs4]"
安装IPython笔记本
有关详细信息,请参阅IPython安装文档。
要同时安装IPython笔记本或qtconsole,请将“notebook”和/或“qtconsole”追加到“bs4”后面的额外指定符中,用逗号分隔,例如
pip install "ipython-beautifulsoup[bs4,notebook,qtconsole]"
在Ubuntu LTS上,如果您想安装IPython笔记本,您需要先执行以下操作
sudo apt-get install python-dev g++
(如果使用Python 3,请使用python3-dev)
对于qtconsole,请执行以下操作(如果在一个虚拟环境中执行)(警告:执行速度较慢)
sudo apt-get install make cmake qt4-qmake libqt4-dev pip install pyside
用法
在IPython笔记本或qtconsole中运行
%load_ext soup
这将把一系列可调用对象推送到你的当前上下文,以及一个经过猴子补丁的 BeautifulSoup 和 requests。
现在你可以像从相应的模块导入BeautifulSoup一样使用BeautifulSoup了。
有很大可能性你会想要使用 configure_ipython_beautifulsoup 来配置输出,例如像这样(在 %load_ext 之后)
configure_ipython_beautifulsoup(show_html=True, show_css=True, show_js=False)
要查看 configure_ipython_beautifulsoup 的文档,只需在IPython的任何界面中这样做
configure_ipython_beautifulsoup?
这还加载了一个名为 p 的快捷函数(用于解析),定义为以下内容
def p(url):
if requests is not None:
return BeautifulSoup(requests.get(url).contents)
return BeautifulSoup(urlopen(url).read())
关于安全性的说明
警告
由于包含外部HTML、JS和CSS,如果在调用 ``configure_ipython_beautifulsoup`` 时将 show_html 设置为 True 以渲染html,则此扩展默认情况下是不安全的。
默认情况下,<script>、<link> 和 <style> 标签被移除,但这并不能保证如果你选择渲染html,这是100%安全的,使用时请自担风险。
最安全的选项是将 configure_ipython_beautifulsoup 的所有选项都设置为 False(默认)。
屏幕截图
IPython笔记本
.find:
.find_all:
贡献者
按时间顺序排列
不要犹豫,添加你自己。
变更日志
0.3 (2014-08-26)
python 3 兼容性
setup.py 中的分类器
以及一系列小的修复
还有:wheel!
主要是Matt Morrison的工作,请参见 https://github.com/Psycojoker/ipython-beautifulsoup/pull/5
0.2 (2014-01-06)
安全性改进(configure_ipython_beautifulsoup)
测试!
主要是westurner的工作,请参见 https://github.com/Psycojoker/ipython-beautifulsoup/pull/3
0.1.1 (2014-01-04)
错误修复
0.1 (2014-01-04)
初始化
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。