0

私はpythonとscrapyを初めて使用するため、いくつかの基本的な疑問が生じています(いくつかの基本事項についての私の無知を惜しまないでください。私は喜んで学びます:D)。

現在、いくつかのスパイダーを作成し、コマンドラインから次のように入力して、scrapy-ctl.py を使用してそれらを実装しています。

C:\Python26\dmoz>python scrapy-ctl.py crawl spider

しかし、これを実装するために 2 つの別個の Python コードとコマンド ラインは必要ありません。何らかの方法でスパイダーを定義し、単一の Python コードを記述して実行することで URL をクロールさせたいと考えています。 、タイプ関数の「実行」がインポートされますが、スパイダーを含むコードでこの関数をどのように定義できるかについてはわかりません。

前もって感謝します!!

4

1 に答える 1

1

しかし、これを実装するために 2 つの個別の Python コードとコマンド ラインは必要ありません。どうにかしてスパイダーを定義し、1 つの Python コードを記述して実行することで URL をクロールさせたいと考えています。

何かをこすり落としたいだけなら、努力が報われるかどうかはわかりません。少なくとも 2 つのオプションがあります。

  • を掘り下げscrapy/cmdline.pyます。runこれは、一種のディスパッチ スクリプトであり、最終的に指定されたコマンドのメソッドに作業を引き渡すことがわかりますcrawl( を参照scrapy/commands/crawl.py)。scrapymanager.start()54行目を見てください。いくつかのセットアップの後、実際のコマンドが開始されると思います。

  • 少しハックな方法: pythonssubprocessモジュールを使用して、1 つのプロジェクトと実行を 1 つのファイル (またはプロジェクト) で実行します。

于 2010-06-28T12:42:21.563 に答える