0

私はdjango-dynamic-scraper自分のアプリケーションの 1 つで使用しています。ドキュメントを確認しました。以下は私のセットアップです。

私が使用しているオブジェクトクラスのURLは次のとおりです。http://www.example.com/products/brandname_products.html

サイトのページネーションは以下のような感じです。

ページ 1:http://www.example.com/products/brandname_products.html ページ 2:http://www.example.com/products/brandname_products2.html ページ 3:http://www.example.com/products/brandname_products3.html ページ 4:http://www.example.com/products/brandname_products4.html

上記brandnameの URL は動的で、ブランドの製品ページによって異なります。10000 以上のブランドがあるため、ブランドごとに異なるスクレーパーを持つことはできないため、単一のスクレーパー オブジェクトを使用しようとしています。

私が使用しているスクレイパー オブジェクトでは、次のようにページ付けオプションを定義しました。

pagination_type: RANGE_FUNCT
pagination_append_str: _products{page}.html
pagination_page_replace:1,100,2

ただし、スクレーパーは次のページ付け URL を要求します

http://www.example.com/products/brandname_products.html_products2.html http://www.example.com/products/brandname_products.html_products3.html http://www.example.com/products/brandname_products.html_products4.html

それ以外の

http://www.example.com/products/brandname_products2.html http://www.example.com/products/brandname_products3.html http://www.example.com/products/brandname_products4.html

_products.htmlQ:オブジェクト クラス urlで実際に置き換えるのではなく、url の末尾に置換文字列を追加するのはなぜですか? 何が間違っているのか、どうすれば修正できますか。

4

1 に答える 1

4

pagination_append_strオプションはこのように呼び出されます。これは、文字列がベースURL に追加され、置き換えられないためです! :-)

すべてが正しい_products_htmlので、ベースURLから削除するだけで、最終的なURLがURL部分を2倍にすることなく一緒に構築されます。

于 2014-07-08T17:02:12.687 に答える