9

こんにちは私はscrapyに取り組んでいます。URLscrapy startproject example からすべてのデータをスクレイプするためにspiderを使用してscrapyフォルダーを作成し、スパイダーを実行しました。コマンドを使用してスパイダーを実行しました。このコマンドscrapy crawl spider_nameは正常に機能し、データをフェッチできます。

しかし、作成された単一のスパイダーファイルでscrapyを実行する必要があるという要件がありました。つまり、次のような単一のpyファイルを意味します。

python -u /path/to/spider_file_inside_scrapy_folder_created.py

scrapy crawlspider.pyファイルでscrapyプロジェクトフォルダーを作成した後、コマンドなしでスパイダーを実行することは可能ですか?

4

5 に答える 5

12

はい!Popen 経由でコマンドを呼び出すのではなく、プログラムで実行したい場合は、次のように実行できます。

>>> from scrapy.cmdline import execute
>>> execute(['scrapy','crawl','dmoz'])

ご不明な点がございましたらお知らせください。テスト目的で、スクレイピー ドキュメントが Github で参照しているバージョンを使用しています。

https://github.com/scrapy/dirbot

于 2012-09-29T06:28:51.740 に答える
7

runspiderコマンドを試してください。

scrapy runspider /path/to/spider_file_inside_scrapy_folder_created.py
于 2012-10-13T02:35:51.857 に答える