AttributeError: объект 'module' не имеет атрибута 'urlopen'


Я пытаюсь использовать Python для загрузки исходного кода HTML веб-сайта, но я получаю эту ошибку.

обратная трассировка (самый недавний призыв последнего):
Файл "C:UsersSergio.TapiaDocumentsNetBeansProjectsDICParsersrcWebDownload.py", строка 3, in 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, Спасибо за помощь!

8 95

8 ответов:

это работает в Python 2.x.

для Python 3 смотрите здесь:

http://docs.python.org/py3k/library/urllib.request.html?highlight=urllib#urllib.request.urlopen

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)

совместимое решение 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)
import urllib.request as ur
s = ur.urlopen("http://www.google.com")
sl = s.read()
print(sl)

в Python v3 " urllib.запрос" - это модуль сам по себе, поэтому "urllib" не может быть использован здесь.

import urllib.request as ur

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

чтобы получить 'данные_х:= urllib.urlоткрыть(url).читать () ' работа в python3(Это было бы правильно для python2) вы должны просто изменить 2 мелочи.

1: сам оператор urllib (добавьте .запрос в середине):

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

2: оператор импорта, предшествующий ему (изменение с "import urlib" на:

import urllib.request

и он должен работа в питон3 :)

для Python 3, Попробуйте что-то вроде этого:

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

он загрузит видео в текущий рабочий каталог

Я получил помощь отсюда

решение для python3:

from urllib.request import urlopen

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

ваш код, используемый в Вместо python2.x, вы можете использовать так:

from urllib.request import urlopen
urlopen(url)

кстати, предложите другую модель под названием запросы более удобна в использовании, вы можете использовать pip установить ее и использовать следующим образом:

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

Я думал, что это легко использовать, я новичок тоже....хаха