A python wrapper for Boilerpipe, an excellent Java library for boilerplate removal and fulltext extraction from HTML pages.
Dependencies:
- jpype
- chardet
The boilerpipe jar files will get fetched and included automatically when building the package.
Checkout the code:
git clone https://github.com/misja/python-boilerpipe.git cd python-boilerpipe virtualenv
virtualenv env source env/bin/activate pip install -r requirements.txt python setup.py install Fedora
sudo dnf install -y python2-jpype sudo python setup.py install Be sure to have set JAVA_HOME properly since jpype depends on this setting.
The constructor takes a keyword argument extractor, being one of the available boilerpipe extractor types:
- DefaultExtractor
- ArticleExtractor
- ArticleSentencesExtractor
- KeepEverythingExtractor
- KeepEverythingWithMinKWordsExtractor
- LargestContentExtractor
- NumWordsRulesExtractor
- CanolaExtractor
If no extractor is passed the DefaultExtractor will be used by default. Additional keyword arguments are either html for HTML text or url.
from boilerpipe.extract import Extractor extractor = Extractor(extractor='ArticleExtractor', url=your_url) Then, to extract relevant content:
extracted_text = extractor.getText() extracted_html = extractor.getHTML() For KeepEverythingWithMinKWordsExtractor we have to specify kMin parameter, which defaults to 1 for now:
extractor = Extractor(extractor='KeepEverythingWithMinKWordsExtractor', url=your_url, kMin=20)