urllibでユーザーエージェントを変更する

Python の urllib.urlopen や urllib.urlretrieve で URL にアクセすると、FancyURLopener オブジェクトが生成されて、これが目的の URL にアクセスする。ユーザーエージェントの値もこの FancyURLopener オブジェクトが持っている。なので、これを変えてやればいい。次のように FancyURLopener のサブクラスを作ってユーザーエージェントの値を設定し、urllib._urlopenr に代入してやればいい。

class Myopener(urllib.FancyURLopener):
    version = "Mozilla"

urllib._urlopener = Myopener()

これで、urllib のデフォルトでは跳ね返されてしまう URL にもアクセスできるようになる。

参考ページ:

 cf. http://docs.python.jp/2/library/urllib.html#urllib._urlopener

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください