私は掻きたいURLのリストを持っています。治療中の内部リンクのみを許可する
私は3つのレベルの各URLに行きたいですが、私は外部URLに行きたくありません - 私のスタートリストのドメイン内のリンクのみ。
私はちょうどいくつかのURLでこれをやりたければ、私はallowed_domains
のリストに簡単に入れると思います。
あなたが3000件のURLを取得するときしかし、allowed_domains
リストはScrapyが処理するには大きすぎる(それは私の知る限り大きな正規表現に変換します)ので、それが壊れる...
任意のアイデア?
「ルール」リストの何かが良いでしょう。 rules = (Rule(SgmlLinkExtractor(allow = (<local_links_only??>)) ,callback = 'parse_item'),)
オフサイトミドルウェア内のもの - とにかく参照リンクを取得するには?
またはジョブをバッチ処理しますか?一度に50のURLを取得しますか?私はstart_requests
を見ることができますが、finish_requests
のようなコールバックはありません。私はstart_urls
リストを再度埋めることができますか?
ガイ
これらの3000のURLは、異なるウェブサイトからのものですか?もしそうなら、あなたはそれぞれのスパイダーを別々にすることをお勧めします。 – warvariuc