我正在尝试使用这个 scrapy 插件(或它是什么):scrapyjs。
但是没有安装说明,而且我是 Python 新手。这里有什么我缺少的基本内容吗?我如何将它与一个scrapy项目集成。
注意:我更喜欢使用 Scrapy 下载处理程序而不是中间件版本,因为它看起来运行起来会更快。(如我错了请纠正我)。
我正在尝试使用这个 scrapy 插件(或它是什么):scrapyjs。
但是没有安装说明,而且我是 Python 新手。这里有什么我缺少的基本内容吗?我如何将它与一个scrapy项目集成。
注意:我更喜欢使用 Scrapy 下载处理程序而不是中间件版本,因为它看起来运行起来会更快。(如我错了请纠正我)。
由于scrapyjs
不是常规的 python 包并且没有注册PyPI
- 首先,您需要克隆存储库并将scrapyjs
包移动到PYTHONPATH
, 或您的scrapy项目目录中(使其“可导入”)。
有两个选项可以与它集成Scrapy
:
scrapy
以使用gtk2
反应堆DOWNLOADER_MIDDLEWARES = {
'scrapyjs.middleware.WebkitDownloader': 1,
}
后者更容易和更清洁,但会严重影响性能,因为每个请求都将以阻塞模式处理。
要添加到 alecxe 的答案,对于 Ubuntu/Debian 系统,首先安装依赖项(webkit、gtk2 和 jswebkit)
sudo apt-get install python-jswebkit libwebkitgtk-1.0-0 python-webkit
sudo apt-get install python-gtk2 python-gnome2 python-glade2 python-gobject
如果您使用的是 virtualenv,则必须符号链接您安装的库
mkdir your-venv/lib/python2.7/dist-packages
ln -s /usr/lib/python2.7/dist-packages/gtk-2.0* lib/python2.7/dist-packages/
ln -s /usr/lib/python2.7/dist-packages/pygtk.pth lib/python2.7/dist-packages/
ln -s /usr/lib/python2.7/dist-packages/gobject/ lib/python2.7/dist-packages/
ln -s /usr/lib/python2.7/dist-packages/glib/ lib/python2.7/dist-packages/
ln -s /usr/lib/python2.7/dist-packages/cairo lib/python2.7/dist-packages/
ln -s /usr/lib/python2.7/dist-packages/webkit lib/python2.7/dist-packages/
ln -s /usr/lib/python2.7/dist-packages/jswebkit.so lib/python2.7/dist-packages/
要使用补丁方法,请找出你的scrapy住在哪里(如果你还没有的话)
python -c "import scrapy; print scrapy.__file__"
这将为您提供 Scrapy 的已编译字节码的位置__init__.py
。转到该目录并添加以下行__init__.py
from twisted.internet import gtk2reactor
gtk2reactor.install()