私は2つのCrawlerProcessを持っています。それぞれは異なるスパイダーを呼び出しています。CrawlerProcessでカスタム設定をスクレイピーで渡す方法はありますか?
storage_settings = {'FEED_FORMAT': 'csv', 'FEED_URI': 'foo.csv'}
process = CrawlerProcess(get_project_settings())
process.crawl('ABC', crawl_links=main_links, custom_settings=storage_settings)
process.start()
と私のクモで、私は、引数として、それらを読んで:
def __init__(self, crawl_links=None, allowed_domains=None, customom_settings=None, *args, **kwargs):
self.start_urls = crawl_links
self.allowed_domains = allowed_domains
self.custom_settings = custom_settings
self.rules = ......
super(mySpider, self).__init__(*args, **kwargs)
私はCSVファイルへのクモの出力を保存するために、これらのプロセスのいずれかにカスタム設定を渡したい、私はこれを行うことができると思いました
しかし、これらのカスタム設定についてプロジェクト設定ファイル "settings.py"をどのように伝えることができますか?私はそれらをハードコーディングするのではなく、自動的にそれらを読みたいと思っています。
これが可能かどうかわかりませんが、各スパイダーの設定ファイルアプローチは解決策ですか?それは私のプロジェクトでどのように行うのですか? – voidpointercast
このようにするのが私の目標です。ループの場合はプロセスを接続してから、自動的にcsv出力ファイルの名前を変えることができます。設定ファイルを使ってもいいですか?それについてもっと詳しく説明できますか? – owise