16

urllib モジュールの urlretrieve を使用しています。

リクエストに User-Agent の説明を追加する方法が見つからないようです。


urlretrieve で可能ですか? または、別の方法を使用する必要がありますか?

4

5 に答える 5

8

まず、バージョンを設定します。

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)
于 2015-08-22T10:37:48.473 に答える
5

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')
于 2011-08-14T19:41:03.790 に答える
2

urlretrieveでは不可能だと思います-少なくとも簡単ではありません。urllib2.Requestオブジェクトを作成し、それに必要なヘッダーを渡すことを提案します。見る

http://docs.python.org/library/urllib2.html#urllib2.urlopen

たとえば。

于 2010-03-02T16:14:12.507 に答える
2

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)
于 2021-02-11T11:48:05.653 に答える