Я пытаюсь понять, почему использование оператора 'with as с urlopen генерирует это исключение в моем коде:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<timed exec> in <module>
AttributeError: __enter__
Это код:
%%time
from urllib.request import urlopen
from bs4 import BeautifulSoup
import ssl
url = input('Enter - ')
req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
with urlopen(req).read() as html:
soup = BeautifulSoup(html, 'html.parser')
nums = []
table = soup.find('table')
table_data = table.find_all('span')
for data in table_data:
nums.append(int(data.text))
print(sum(nums))
И почему я удалил вкладку из последней строки, она больше не выдает ошибку.
print(sum(nums))