UserAgentを上手いこと誤魔化すfake-useragent
スクレイピングをするときに必須というわけではないのだが、UAは設定した方がいい。サイトの運営者であれば、ボットからのアクセスと人間からのアクセスはすぐにわかる。なるべく人間に似せるように設定してあげるのがポイントだと思う。UAを設定すること自体は簡単なのだけれども、どのUAを設定するかを調べるのが面倒臭い。
そこで、fake-useragentが使える!!!
>>> from fake_useragent import UserAgent >>> UA = UserAgent() >>> UA.ie u'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)' >>> UA.opera u'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14' >>> UA.chrome u'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1866.237 Safari/537.36'
こんな感じで、UAに良さげな文字列を返してくれる。
※余談だが、UserAgent()のコンストラクタが意外と重たかった。簡単な文字列を返却するだけではなく、中でいろいろやっているのだろう。
UAをアップデートすると、返却される情報が変わるようだ。
>>> UA.update() >>> UA.ie u'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.3; .NET4.0C; .NET4.0E; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MS-RTC LM 8)' >>> UA.opera u'Opera/9.80 (Windows NT 6.0; U; en) Presto/2.8.99 Version/11.10' >>> UA.chrome u'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.3319.102 Safari/537.36'
めちゃくちゃ便利だね!!!