Custom rendering of beautifulsoup objects in IPython notebook and qtconsole
Project description
IPython-BeautifulSoup
IPython-BeautifulSoup is an IPython extension for displaying BeautifulSoup HTML/XML objects as prettified and syntax highlighted HTML blocks in IPython notebook and qtconsole.
Syntax highlighting is accomplished with Pygments.
Install
Simply run:
pip install "ipython-beautifulsoup[bs4]"
Installing IPython Notebook
See the IPython installation docs for details.
To install IPython notebook or qtconsole as well, append notebook and/or qtconsole to the extras specifier after “bs4” separated by a “,”, like this:
pip install "ipython-beautifulsoup[bs4,notebook,qtconsole]"
On Ubuntu LTS, if you want to install IPython notebook, you’ll need to do this before:
sudo apt-get install python-dev g++
(use python3-dev if you’re using Python 3)
For the qtconsole do this (if you do this in a virtualenv) (WARNING: it’s slow):
sudo apt-get install make cmake qt4-qmake libqt4-dev pip install pyside
Usage
In IPython notebook or qtconsole, run:
%load_ext soup
This will push a series of callables into your current context, as well as a monkey-patched BeautifulSoup and requests.
You can now use BeautifulSoup like you would if it was imported from the corresponding module.
There is great chances that you’ll want to configure the output by using configure_ipython_beautifulsoup, for example like this (just after the %load_ext):
configure_ipython_beautifulsoup(show_html=True, show_css=True, show_js=False)
To see configure_ipython_beautifulsoup documentation just do (in any interface of IPython):
configure_ipython_beautifulsoup?
This also loads a shortcut function called p (for Parse) defined as follows:
def p(url):
if requests is not None:
return BeautifulSoup(requests.get(url).contents)
return BeautifulSoup(urlopen(url).read())
A note on security
WARNING
By nature of including external HTML, JS, and CSS, this extension is inherently unsafe if you choose to render the html by setting show_html to True when calling ``configure_ipython_beautifulsoup``.
By default, <script>, <link>, and <style> tags are removed but this isn’t a 100% guarantee that this is secure if you choose to render the html, use at your own risk.
The safest option is to set all options of configure_ipython_beautifulsoup to False (the default).
Screenshots
IPython Notebook
.find:
.find_all:
Contributors
In chronological order:
Don’t hesitate to add yourself.
Changelog
0.3 (2014-08-26)
python 3 compatibility
classifiers in the setup.py
and a series of small fixes
also: wheel!
mainly the work of Matt Morrison, see https://github.com/Psycojoker/ipython-beautifulsoup/pull/5
0.2 (2014-01-06)
security improvement (configure_ipython_beautifulsoup)
tests!
mostly the work of westurner, see https://github.com/Psycojoker/ipython-beautifulsoup/pull/3
0.1.1 (2014-01-04)
bug fixes
0.1 (2014-01-04)
Init
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file ipython-beautifulsoup-0.3.tar.gz
.
File metadata
- Download URL: ipython-beautifulsoup-0.3.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14c9999fcaffab06d35a818770e56e8ae35726132af6c76e43f811dc2f25ff44 |
|
MD5 | c1eecc4c35f1f2647fa73fae382afc1d |
|
BLAKE2b-256 | 6c7719aac42588e2140baaf29d7f79b5c4696de13a8d212ae5740dc9cb7a4dd2 |
File details
Details for the file ipython_beautifulsoup-0.3-py2.py3-none-any.whl
.
File metadata
- Download URL: ipython_beautifulsoup-0.3-py2.py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c74ee6592bf697235819f7f6f3336ac0858d5784890ffd3218bb917d06e4711 |
|
MD5 | 73e47e66c55a9d1fac23bdee549e167a |
|
BLAKE2b-256 | e83f6bc064a5bde8256ef78f747f142be72f44252fbe6135ab9d2d11e1c7cb8c |
File details
Details for the file ipython_beautifulsoup-0.3-py2.7.egg
.
File metadata
- Download URL: ipython_beautifulsoup-0.3-py2.7.egg
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 853a165a4f06135e510034adcfdd45c86a1e753954ddbf94acdaf618ef63d834 |
|
MD5 | 987331314ffa95e33027879e8b3e81fd |
|
BLAKE2b-256 | 997ff140dce5ea6de6084e3caf5e9ee9b8ca5b8c1251dd413268089ea4edef3f |