web-dev-qa-db-ja.com

AttributeError: 'module'オブジェクトには属性 'urlopen'がありません

Pythonを使用してWebサイトのHTMLソースコードをダウンロードしようとしていますが、このエラーが表示されます。

トレースバック(最後の最後の呼び出し):
ファイル「C:\ Users\Sergio.Tapia\Documents\NetBeansProjects\DICParser\src\WebDownload.py」、3行目、file = urllib.urlopen( " http:// www。 python.org ")AttributeError: 'module'オブジェクトには属性 'urlopen'がありません

ここでガイドに従っています: http://www.boddie.org.uk/python/HTML.html

import urllib

file = urllib.urlopen("http://www.python.org")
s = file.read()
f.close()

#I'm guessing this would output the html source code?
print(s)

私はPython 3を使用しています。助けてくれてありがとう!

113
delete

これはPython 2.xで機能します。

Python 3の場合は、 docs を見てください。

import urllib.request

with urllib.request.urlopen("http://www.python.org") as url:
    s = url.read()
    # I'm guessing this would output the html source code ?
    print(s)
190
eumiro

Python 2 + 3互換ソリューションは次のとおりです。

import sys

if sys.version_info[0] == 3:
    from urllib.request import urlopen
else:
    # Not Python 3 - today, it is most likely to be Python 2
    # But note that this might need an update when Python 4
    # might be around one day
    from urllib import urlopen


# Your code where you can use urlopen
with urlopen("http://www.python.org") as url:
    s = url.read()

print(s)
18
Martin Thoma
import urllib.request as ur
s = ur.urlopen("http://www.google.com")
sl = s.read()
print(sl)

Python v3では、「urllib.request」はそれ自体モジュールなので、「urllib」はここでは使用できません。

13
Manu Mariaraj

Pythonで動作する「dataX = rllib.urlopen(url).read()」を取得するには(これはpython 2で正しかったはずです。2つの小さなことを変更する必要があります。

1: urllibステートメント自体(中央に.requestを追加):

dataX = urllib.request.urlopen(url).read()

2:その前のimportステートメント(「import urlib」から次のように変更します:

import urllib.request

そしてそれはpython3で動作するはずです:)

4
Steven B. Peutz
import urllib.request as ur

filehandler = ur.urlopen ('http://www.google.com')
for line in filehandler:
    print(line.strip())
3
Kamran

Python3のソリューション:

from urllib.request import urlopen

url = 'http://www.python.org'
file = urlopen(url)
html = file.read()
print(html)
1
Banjali

python 3の場合、次のようなものを試してください。

import urllib.request
urllib.request.urlretrieve('http://crcv.ucf.edu/THUMOS14/UCF101/UCF101/v_YoYo_g19_c02.avi', "video_name.avi")

ビデオを現在の作業ディレクトリにダウンロードします

私はここから助けを得た

1
rocksyne

可能な方法の1つ:

import urllib
...

try:
    # Python 2
    from urllib2 import urlopen
except ImportError:
    # Python 3
    from urllib.request import urlopen
0

python2.xで使用されるコードは、次のように使用できます。

from urllib.request import urlopen
urlopen(url)

ちなみに、requestsと呼ばれる別のモデルの方が使いやすいことをお勧めします。pipinstallを使用して、次のように使用できます。

import requests
requests.get(url)
requests.post(url)

使いやすいと思ったのですが、私も初心者です。

0
jason.lu