我正在使用python构建一个应用程序,它涉及从RSS源获取新闻文章.作为我项目的一部分,我决定使用samppipe,以便从文章出现的html页面中提取文章内容.
尽管samppipe最初是为java编写的,但它也被移植到python中.你可以在这里看到它在github上的页面:https://github.com/misja/python-boilerpipe
问题是我在尝试使用以下方法导入时遇到异常:
from boilerpipe.extract import Extractor
我得到的错误是:
Traceback (most recent call last):
File "", line 1, in
File "build\bdist.win32\egg\boilerpipe\extract__init__.py", line 12, in
File "C:\Python26\lib\site-packages\jpype_jclass.py", line 54, in JClass
raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name)
jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class
de.l3s.boilerpipe.sax.HTMLHighlighter not found
可能导致此问题的原因以及如何解决?
解决方法:
这对我在Mac OS X 10.8.5上使用Python 2.7.9:
pip install JPype1 # to install https://pypi.python.org/pypi/JPype1
pip install charade
git clone https://github.com/misja/python-boilerpipe.git
cd python-boilerpipe
sudo python setup.py install
然后你应该可以在python控制台中做
>>> from boilerpipe.extract import Extractor
>>> extractor = Extractor(extractor='ArticleExtractor', url="http://en.wikipedia.org/wiki/Main_Page")
>>> print extractor.getText()