web-dev-qa-db-ja.com

Python urllib.open使用時のエラー

これを実行すると:

import urllib

feed = urllib.urlopen("http://www.yahoo.com")

print feed

インタラクティブウィンドウ(PythonWin)でこの出力を取得します。

<addinfourl at 48213968 whose fp = <socket._fileobject object at 0x02E14070>>

上記のURLのソースを取得することを期待しています。これは他のコンピューター(学校のコンピューターなど)でも機能することはわかっていますが、これは私のラップトップにあり、ここで何が問題なのかわかりません。また、私はこのエラーをまったく理解していません。どういう意味ですか? Addinfourl? fp?助けてください。

25
Alan

これを試して:

print feed.read()

Python docs here を参照してください。

55
RexE

urllib.urlopenは実際にはファイルのようなオブジェクトを返すため、コンテンツを取得するには次のものを使用する必要があります。

import urllib

feed = urllib.urlopen("http://www.yahoo.com")

print feed.read()
17
Wayne Koorts

python 3.0:

import urllib
import urllib.request

fh = urllib.request.urlopen(url)
html = fh.read().decode("iso-8859-1")
fh.close()

print (html)
7
hughdbrown