Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping.
Three features make it powerful:
- Beautiful Soup provides a few simple methods and Pythonic idioms for navigating, searching, and modifying a parse tree: a toolkit for dissecting a document and extracting what you need. It does not take much code to write an application
- Beautiful Soup automatically converts incoming documents to Unicode and outgoing documents to UTF-8. You don not have to think about encodings, unless the document does not specify an encoding and Beautiful Soup cannot detect one. Then you just have to specify the original encoding.
- Beautiful Soup sits on top of popular Python parsers like lxml and html5lib, allowing you to try out different parsing strategies or trade speed for flexibility.
Beautiful Soup parses anything you give it, and does the tree traversal stuff for you. You can tell it “Find all the links”, or “Find all the links of class externalLink”, or “Find all the links whose urls match foo.com”, or “Find the table heading that has got bold text, then give me that text.”
Valuable data that was once locked up in poorly-designed websites is now within your reach. Projects that would have taken hours take only minutes with Beautiful Soup.
Installed as part of Python.
Example job scripts
None at present. It is not anticipated that it would be used as a main HPC job, although it might be used as part of a pipeline to render output of a job in a user-friendly way.
If used in this way then:
module load python/beautifulsoup4/version/flavour
or similar would be required in the job script, where version is a version number (e.g. 4.3.2) and flavour is a flavour name (e.g. py27/1)
module load site-local
module load python/beautifulsoup4/4.3.2/py27/1
Example Job Scripts