2013-10-18 25 views
5

私はscrapyを使ってプロジェクトを作成し、 "spider_us.py"というような自分のスパイダーを "spiders"フォルダーに追加します。そして、私は、scrapyをインストールせずに他のコンピューターで実行できるexeファイルを作りたいと思います。py2exeを使ってexeファイルに私のスパイダーを構築する方法は?

私はpy2exeの指示に従った場合、私は以下の内容を同じフォルダに新しいファイル「Setup.py」を作る:

from distutils.core import setup 
import py2exe 

setup(console = ["spider_us.py"]) 

しかし、それは私が私を実行したとき以来、動作しませんでしたspider、私は "spiders_us.py"ファイルを "spiders"フォルダ内で直接実行するのではなく、 "scrapy crawl spider_us"コマンドを使用します。

スパイダーファイル(私の場合は「spider_us.py」)だけでなく、exeファイルにスパイダープログラム全体(「scrapy startproject XXX」を使用すると自動的に作成されます)を構築するにはどうすればいいですか? "spiders"サブフォルダ。

誰でも助言や助言をいただけると、どんなコメントも歓迎されます。本当にありがとう。

答えて

1

scrapy crawl <spider_name>の代わりに)Pythonスクリプトでスパイダーを実行してみてください。あなたは、例えば、いくつかのコードを記述する必要があります。:

from twisted.internet import reactor 
from scrapy.crawler import Crawler 
from scrapy import log, signals 
from testspiders.spiders.followall import FollowAllSpider 
from scrapy.utils.project import get_project_settings 

spider = FollowAllSpider(domain='scrapinghub.com') 
settings = get_project_settings() 
crawler = Crawler(settings) 
crawler.signals.connect(reactor.stop, signal=signals.spider_closed) 
crawler.configure() 
crawler.crawl(spider) 
crawler.start() 
log.start() 
reactor.run() # the script will block here until the spider_closed signal was sent 

詳細については、the documentations on "Run Scrapy from a script"

を見ます
関連する問題