2013年11月21日木曜日

[Python] User-Agentやリンク元を指定してurlopen

pythonのurllib2を使ってウェブサイト等を取得すると、アクセスログには Python-urllib/2.7 のように記録されますが、ここを少し偽装したい場合は以下のようにする。

>>> import urllib2
>>> HEADERS = {
...     "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
...     "Referer"   : "リンク元URL",
... }
>>> request = urllib2.Request("取得するURL",headers=HEADERS)
>>> response = urllib2.urlopen(request)
>>> print response.read()

...

Apacheのログはこんな感じ。
IPアドレス - - [21/Nov/2013:21:30:15 +0900] "GET / HTTP/1.1" 200 10609 "リンク元URL" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

IPアドレスはスクリプト実行環境のものだが、User-Agentによって表示が変わる場合等に有効。

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...