?locale=en または locale=jp のサイトをクロールしています...
URL にロケールが指定されていないサイトをクロールすることにのみ関心があります。
現在、私はこれを持っています:
# More specific ones at the top please
# In general, deny all locale specified links
rules = (
# Matches looks
# http://lookbook.nu/look/4273137-Galla-Spectrum-Yellow
Rule(SgmlLinkExtractor(allow=('/look/\d+'), deny=('\?locale=')), callback='parse_look'),
# Matches all looks page under user overview,
Rule(SgmlLinkExtractor(allow=('/user/\d+[^/]+/looks/?$'), deny=('\?locale=')),
callback='parse_model_looks'),
Rule(SgmlLinkExtractor(allow=('/user/\d+[^/]+/looks\?page=\d+$'), deny=('\?locale=')),
callback='parse_model_looks'),
# Matches all user overview pages
Rule(SgmlLinkExtractor(allow=('/user/\d+[^/]*/?$'), deny=('\?locale=')),
callback='parse_model_overview'),
どこまでも否定を繰り返しています。
もっと良い方法があるはずですよね?
すべての \?locale= を拒否する一般的なルールを試してみましたが、うまくいきませんでした。