Skip to main content

Custom rendering of beautifulsoup objects in IPython notebook and qtconsole

Project description

IPython-BeautifulSoup

https://travis-ci.org/Psycojoker/ipython-beautifulsoup.svg?branch=master

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.

teaser

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

.find_all:

.find_all

Contributors

In chronological order:

Don’t hesitate to add yourself.

Changelog

0.3 (2014-08-26)

0.2 (2014-01-06)

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

ipython-beautifulsoup-0.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distributions

ipython_beautifulsoup-0.3-py2.py3-none-any.whl (7.4 kB view details)

Uploaded Python 2 Python 3

ipython_beautifulsoup-0.3-py2.7.egg (4.6 kB view details)

Uploaded Source

File details

Details for the file ipython-beautifulsoup-0.3.tar.gz.

File metadata

File hashes

Hashes for ipython-beautifulsoup-0.3.tar.gz
Algorithm Hash digest
SHA256 14c9999fcaffab06d35a818770e56e8ae35726132af6c76e43f811dc2f25ff44
MD5 c1eecc4c35f1f2647fa73fae382afc1d
BLAKE2b-256 6c7719aac42588e2140baaf29d7f79b5c4696de13a8d212ae5740dc9cb7a4dd2

See more details on using hashes here.

File details

Details for the file ipython_beautifulsoup-0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ipython_beautifulsoup-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2c74ee6592bf697235819f7f6f3336ac0858d5784890ffd3218bb917d06e4711
MD5 73e47e66c55a9d1fac23bdee549e167a
BLAKE2b-256 e83f6bc064a5bde8256ef78f747f142be72f44252fbe6135ab9d2d11e1c7cb8c

See more details on using hashes here.

File details

Details for the file ipython_beautifulsoup-0.3-py2.7.egg.

File metadata

File hashes

Hashes for ipython_beautifulsoup-0.3-py2.7.egg
Algorithm Hash digest
SHA256 853a165a4f06135e510034adcfdd45c86a1e753954ddbf94acdaf618ef63d834
MD5 987331314ffa95e33027879e8b3e81fd
BLAKE2b-256 997ff140dce5ea6de6084e3caf5e9ee9b8ca5b8c1251dd413268089ea4edef3f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page