urllib モジュールの urlretrieve を使用しています。
リクエストに User-Agent の説明を追加する方法が見つからないようです。
urlretrieve で可能ですか? または、別の方法を使用する必要がありますか?
まず、バージョンを設定します。
urllib.URLopener.version = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0'
それで:
filename, headers = urllib.urlretrieve(url)
URLopener または FancyURLopener クラスを使用できます。「バージョン」引数は、オープナー オブジェクトのユーザー エージェントを指定します。
opener = FancyURLopener({})
opener.version = 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.69 Safari/537.36'
opener.retrieve('http://example.com', 'index.html')
urlretrieveでは不可能だと思います-少なくとも簡単ではありません。urllib2.Requestオブジェクトを作成し、それに必要なヘッダーを渡すことを提案します。見る
http://docs.python.org/library/urllib2.html#urllib2.urlopen
たとえば。
urllib thoを使用しないこのようなものは、スクレーパーのために私のために働いた
import requests
imageURL='http://image.jpg'
headers={'user-agent': 'Mozilla/5.0'}
r=requests.get(imageURL, headers=headers)
with open('image.jpg', 'wb') as f:
f.write(r.content)