Подтвердить что ты не робот

Ошибка 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? Пожалуйста, помогите.

4b9b3361

Ответ 1

Попробуйте следующее:

print feed.read()

См. Документы Python здесь.

Ответ 2

urllib.urlopen фактически возвращает файл-подобный объект, чтобы получить содержимое, которое вам нужно использовать:

import urllib

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

print feed.read()

Ответ 3

В python 3.0:

import urllib
import urllib.request

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

print (html)