4

このチュートリアルは、Web サイトの最初のドロップダウン リスト エントリを収集するのに役立ちました。しかし、Scrapy で 2 番目の条件付き/依存ドロップダウン ボックスのデータを取得できません。

次の手順が進むべき道であると仮定すると、ステップ 2 はどのように機能しますか? 値はこれまでに表示されません...

  1. 最初のドロップダウン ボックスのリスト エントリを取得する
  2. 最初のドロップダウン ボックスの最初の値を選択します。
  3. 依存するすべてのドロップダウン値を取得します。
  4. 最初のドロップダウンリストを繰り返し...

コードは送信フォーム用であるため、以下のコードを調整する必要があると思います。

    for i in range(len(brandCategoryList)):

        # Generate new request for each brand category's page
        yield FormRequest("http://www.xxxxxxxxxx.com",
                    method='POST',                         
                    formdata={'BrandName':'','CatBrand':brandCategoryList[i],'submit1':'Find+Product'},
                    callback=self.parseBrandPage,
                    meta={'brandCategoryId':i,'brandCategoryName':brandCategoryList[i]})

ありがとう

4

1 に答える 1

2

Scrapyは、スクレイピングしているページでjavascriptコードを実行しません。依存するドロップダウンは、多くの場合、制御ドロップダウンでの選択に基づいてオプションを設定するためにjavascriptに依存します。

javascriptを必要とするコンテンツを自動化/スクレイプする必要がある場合は、別のライブラリを検討することをお勧めします。いくつかの指針については、ここから始めてください。

于 2012-10-10T22:54:38.383 に答える