長いURLに対して Scrapy するときの覚書
結論
Scrapy で長いURLを対象にするときは、設定ファイルのsettings.py
にURLLENGTH_LIMIT
を書いてURLの最大長を記載する。
自分がやったときはURLの長さが3,800文字だったので、4,000文字に設定した。
# URL LENGTH URLLENGTH_LIMIT = 4000
ログレベルについて
あるサイトを対象にScrapyしてたとき、次のページを取らないというバグが発生する。
ログを眺めているとDEBUGの文字とともにURLが長いからリンクを無視と出ている。
[scrapy.spidermiddlewares.urllength] DEBUG: Ignoring link (url length > 2083): 対象URL
いや、気付けたから良いのですが、URLを無視するのはdebug
では無いと思っております。
私の考えですがdebug
は開発時に使うもので、本番リリースするときは全て取り除いてほしいので、今回の件はwarning
辺りに記載してほしいなと思いました。
warning
なんて見ない!という考え方もありますが、その場合はinfo
でもerror
でもかまいませんけど、今回の件ではdebug
では無いかなーと思います。