Вы сохраняете чтение как переменную reg_file
:
req_file=urllib.request.urlopen(url).read()
, но когда вы пытаетесь передать его в BeautifulSoup, он ищет переменную html
, котораяне был определен как что-либо, следовательно, 'html' is not defined
ошибка
soup=BeautifulSoup(html,"html.parser")
, поэтому можно либо сохранить request
.read()
в качестве переменной html
:
html=urllib.request.urlopen(url).read()
soup=BeautifulSoup(html,"html.parser")
или передать то, что вы изначально сохранили, req_file
в BeautifulSoup:
req_file=urllib.request.urlopen(url).read()
soup=BeautifulSoup(req_file,"html.parser")
надеюсь, объяснение поможет.Я все еще изучаю BeautifulSoup, но могу вспомнить все трудности в начале.Это весело, когда вы немного освоитесь.
import urllib
from bs4 import BeautifulSoup
url=input('Enter- ')
req_file=urllib.request.urlopen(url).read()
soup=BeautifulSoup(req_file,"html.parser")
tags=soup('a')
for tag in tags:
print(tag.get('href',None))