说明
PyV8 是 V8引擎的 Python 胶水层,可实现Python与JavaScript的交互。
安装
SVN安装
1
| sudo apt-get install subversion
|
安装相关依赖, scons, python 的devel, boost 以及 boost for python 的 devel
1 2 3
| sudo apt-get install scons libboost-dev libboost-thread-dev \ libboost-system-dev \ python-dev libboost-python-dev
|
获取源代码
1 2
| svn checkout http://v8.googlecode.com/svn/trunk/ v8 svn checkout http://pyv8.googlecode.com/svn/trunk/ pyv8
|
配置
设置V8环境变量
1 2
| cd v8 export V8_HOME=`pwd`
|
编译
1 2 3
| cd ../pyv8 sudo python setup.py build sudo python setup.py install
|
例程
1 2 3 4 5 6 7 8 9 10 11 12 13
| import PyV8 ctxt = PyV8.JSContext() ctxt.enter() func = ctxt.eval(""" (function(){ function hello(){ return "Hello world."; } return hello(); }) """) print func()
|
遇到的错误
1
| Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-xNdrm1/pyv8/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5RbJ4C-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-xNdrm1/pyv8
|
参考资料
[1] PyV8 安装教程
[2] 在Python中执行JavaScript
[3] python 用于网站抓取 登录 发布的模块介绍
[4] 当爬虫遇到JavaScript
[5] Python 爬虫如何获取 JS 生成的 URL 和网页内容
[6] PyV8试用