ウェブサイト(2レベルしかない)をクロールしていて、両方のレベルのサイトから情報を収集したい。私が取り組んでいる問題は、両方のレベルの情報で1つの項目のフィールドに記入したいということです。これはどうすればいいですか?Scrapy CrawlSpider:さまざまなレベルの解析でアイテムにアクセスする方法
私はインスタンスの変数としてすべてのスレッド(これはスパイダーの同じインスタンスです)からアクセスできるインスタンス変数として考えていましたが、parse_1はいくつかのフィールドを記入し、parse_2は対応する値を入力する前に正しいキーを入力してください。この方法は面倒で、私はまだそれを動作させる方法がわかりません。
私が考えているのは、コールバックにアイテムを渡している方が良い方法が必要であるということです。私はどのようにRequest()メソッドでそれを行うのか分からない。アイデア?あなたは後から引数を受け取ることができるように、第2のコールバックでは、これらのコールバック関数に引数を渡すに興味があるかもしれないいくつかのケースでは
:scrapyのドキュメントから
私はこれを、URLに情報を貼り付けることによって行っていました。この方法は、特にURLでうまくエンコードしない項目の方が優れているようです。ありがとう! – Muhd
2ページ目と3ページ目に、情報の一部も埋め込まれている場合、どのように2つの異なる治療法でそれらを順次呼び出すことができますか?リクエスト?両方に「メタ」の半分の項目を渡すことができますが、最終的な「項目」にページ1 +ページ2 +ページ3のデータが含まれていることを確認します – dowjones123