我正在尝试使用 Gumbo 的 python 包装器来解析 HTML。
我的操作系统是 Ubuntu 14.04.3 LTS。我正在使用 Python2.7
我已经从github克隆了最新版本的 Gumbo 。
我按照 Github 上提供的安装步骤进行操作。
库的安装,包括 C 库和 python 包装器,似乎都是成功的(没有错误消息,最后都打印了成功消息)
C 库最终消息:
库已安装在:/usr/local/lib
Python 包装器消息:
安装/usr/local/lib/python2.7/dist-packages/gumbo-0.10.1-py2.7.egg 处理gumbo==0.10.1的依赖关系完成处理gumbo==0.10.1的依赖项
我遇到的第一个问题是当我尝试为 gumbo 打开 pydoc 以更好地了解该库时。
pydoc gumbo
产生以下错误:
problem in gumbo - <type 'exceptions.OSError'>: /usr/local/lib/python2.7/dist-packages/gumbo-0.10.1-py2.7.egg/gumbo/libgumbo.so: cannot open shared object file: No such file or directory
搜索该消息产生了一个结果。
这对我没有多大用处。
查看 dist-packages 目录,我注意到 libgumbo.so 不在/usr/local/lib/python2.7/dist-packages/gumbo-0.10.1-py2.7.egg/gumbo/
. 但是,所有其他文件(soup-adapter.py、gumboc.py 等)都在那里。
C 库的安装将 libgumbo.so(和其他一些库,如 libgumbo.a libgumbo.la 等)放在/usr/local/lib
. .../dist-packages/gumbo-0.10.1-py2.7.egg/gumbo/
因此,作为一种变通方法,我创建了一个从to的 simlink /usr/local/lib
。
这让 pydoc gumbo 起作用了。
之后我尝试在解释器中导入秋葵汤和汤适配器。我收到以下错误:
import soup_adapter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "soup_adapter.py", line 26, in <module>
import gumboc
File "gumboc.py", line 44, in <module>
os.path.dirname(__file__), _name_of_lib))
File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libgumbo.so: cannot open shared object file: No such file or directory
我不确定如何进行或如何让秋葵起作用。