Я новичок и борюсь за курс, поэтому эта проблема, вероятно, очень проста, но я использую этот (по общему признанию) грязный код (сохраненный в файле x.py), чтобы извлечь ссылку и имя из веб-сайта с линейные форматы, такие как:
<li style="margin-top: 21px;">
<a href="http://py4e-data.dr-chuck.net/known_by_Prabhjoit.html">Prabhjoit</a>
</li>
Итак, я настроил это:
импорт urllib.request, urllib.parse, urllib.error
из bs4 импортировать BeautifulSoup
импортировать ssl
# Игнорировать ошибки SSL-сертификата
ctx = ssl.create_default_context ()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
url = input('Enter - ')
html = urllib.request.urlopen(url, context=ctx).read()
soup = BeautifulSoup(html, 'html.parser')
for line in soup:
if not line.startswith('<li'):
continue
stuff = line.split('"')
link = stuff[3]
thing = stuff[4].split('<')
name = thing[0].split('>')
count = count + 1
if count == 18:
break
print(name[1])
print(link)
И он продолжает выдавать ошибку:
Traceback (most recent call last):
File "x.py", line 15, in <module>
if not line.startswith('<li'):
TypeError: 'NoneType' object is not callable
Я боролся с этим часами, и буду благодарен за любые предложения.