このスクレイピー アドオン (またはそれが何であるか) を使用しようとしています: Scrapyjs。
ただし、インストール手順はなく、Python は初めてです。私が見逃している基本的なものはありますか?これをスクレイピープロジェクトと統合するにはどうすればよいですか。
注: ミドルウェア バージョンではなく、Scrapy ダウンロード ハンドラーを使用することをお勧めします。(間違っている場合は修正してください)。
このスクレイピー アドオン (またはそれが何であるか) を使用しようとしています: Scrapyjs。
ただし、インストール手順はなく、Python は初めてです。私が見逃している基本的なものはありますか?これをスクレイピープロジェクトと統合するにはどうすればよいですか。
注: ミドルウェア バージョンではなく、Scrapy ダウンロード ハンドラーを使用することをお勧めします。(間違っている場合は修正してください)。
scrapyjs
は通常の python パッケージではなく、登録されていないため、PyPI
最初に、リポジトリを複製し、scrapyjs
パッケージを の下に移動するPYTHONPATH
か、scrapy プロジェクト ディレクトリに移動する (「インポート可能」にする) 必要があります。
と統合するには、次の 2 つのオプションがあります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/
patch メソッドを使用するには、scrapy が存在する場所を見つけます (まだ持っていない場合)。
python -c "import scrapy; print scrapy.__file__"
これにより、Scrapy のコンパイル済みバイトコードの場所がわかり__init__.py
ます。そのディレクトリに移動し、次の行を追加します__init__.py
from twisted.internet import gtk2reactor
gtk2reactor.install()