2015-12-07 5 views
-4

Когда я пытаюсь это со следующей конфигурацией:NameError в Python 3.4.3

  • VirtualEnv с python3.4.3
  • Бег на онлайн IDE

Когда я пытаюсь это:

from urllib.request import urlopen 
from urllib.error import HTTPError 
from bs4 import BeautifulSoup 
try: 
    html = urlopen("http://www.pythonscraping.com/pages/pages1.html") 

if html is None: 
     print("url not found") 
else: 
    except HTTPError as e: 
     print("test") 
    else: 
     bsObj = BeautifulSoup(html.read()) 
     print(bsObj) 

я получил следующее сообщение об ошибке:

~/workspace/scrapingEnv $ python test2.py 
    File "test2.py", line 7 
    if html is None: 
    ^
SyntaxError: invalid syntax 

Что я делаю неправильно?

+0

У вас есть что 'try' /' except' и 'if' /' else' вложенных странно ... – hlt

+1

Отступа имеет большое значение в Python, если это точное представление о форматировании вашего файла, это недействительно Python. –

ответ

1

Спасибо за подсказки, я нашел способ обойти мою проблему:

from urllib.request import urlopen 
from urllib.error import HTTPError 
from urllib.error import URLError 
from bs4 import BeautifulSoup 

try: 
    html = urlopen("http://www.pythonscrapng.com/pages/pages1.html") 
    bsObj = BeautifulSoup(html.read()) 
    print(bsObj) 

except HTTPError as e: 
    print("test") 
except URLError as j: 
    print ("No URL") 
else: 
    bsObj = BeautifulSoup(html.read()) 
    print(bsObj)