私は異なるstart_requestsメソッドを使って2つのスパイダーをScrapyに書きますが、まったく同じparseメソッドを書きます。しかし、parse
はインスタンスメソッドなので、すべてのコードを単純にコピー&ペーストすることなく、スパイダーから他のスパイダーにコピーする方法がわかりません。私はどうすればこれについて行くことができますか?Scrapyでは、コードを繰り返さずに同じ解析メソッドで2つのスパイダーを書く方法は?
0
A
答えて
2
あなたは、他の場合には同様に内在使用することができます任意の方法はfun(the_self, other_args...)
のような関数である
class BaseSpider(scrapy.Spider):
def parse(self, request):
pass # Common parse code
class SpiderOne(BaseSpider):
def start_requests(self):
pass # Code for this spider
class SpiderTwo(BaseSpider):
def start_requests(self):
pass # Code for other spider
1
。したがって、共通コードをself
引数を持つ関数として実装することはできますが、クラス外で実装することは可能です。次に、これを最初の引数としてself
に渡して呼び出します。
関連する問題
- 1. 同じクラスのオブジェクト内で同じメソッドを繰り返す
- 2. 2つのbashスクリプトを同時に、同じアクションを繰り返さずに実行できますか?
- 3. __init__でsetterメソッドを繰り返さずにプロパティを定義する方法は?
- 4. asposeで同じマージフィールドを複数回繰り返す方法は?
- 5. AngularJSで2行ずつ繰り返す方法
- 6. 同じ長さの2つのイテラブルを同時に繰り返します。
- 7. Codeigniter:すべての関数で同じコードを繰り返さずに、すべてのメソッド(またはビューページ)にユーザー名を表示する方法
- 8. pythonで同じ要素を1つのリストで繰り返すことで無限回繰り返す方法
- 9. utilメソッドと同じコードを書く方法のパフォーマンスの違い...?
- 10. コードを繰り返さずにinitを行う最良の方法は?
- 11. 行のデータを繰り返さずにテキストファイルに書き込む方法は?
- 12. 2つの背景イメージを繰り返し、繰り返さない1つのイメージをブレンドする方法は?
- 13. IDを繰り返さずに3つのテーブルに参加する方法は?
- 14. Pythonのargparseで2つの引数を持つ繰り返し可能なオプションを解析するには?
- 15. テーブル内で繰り返さずに値を入れる方法
- 16. Pythonは2つのリストを同時に繰り返します
- 17. キューを持つテンソルフローで同じデータセットを何回も繰り返す方法
- 18. 2つのjcomboboxをリンクせずに値を繰り返す方法
- 19. 関数の評価を繰り返さずにリスト内包を書く方法は?
- 20. Random.Rangeで同じ番号の繰り返しを防ぐ方法は?
- 21. 異なる戻り値の型で複数回同じメソッドを書く必要があるときは、同じメソッドを2回書くのがベストプラクティスですか?
- 22. PHPには、クラスの複数のメソッドで同じtry/catchコードを繰り返さないようにする方法がありますか?
- 23. Scrapyでスパイダーを「一時停止」する方法は?
- 24. XAudio2で同じサウンドを繰り返し再生するには?
- 25. 繰り返して書くのではなく、Google Volleyのリクエストを1回書く方法は?
- 26. スプライトアニメーションで最後の2つのフレームを繰り返す方法
- 27. 異なる変数に同じアクションを繰り返す方法
- 28. pythonを同じ行に繰り返し印刷する方法
- 29. 私のモデルでこのコードを繰り返さない方法
- 30. 同じレコードを繰り返さずにテーブルから各レコードを選択