Я пытаюсь написать код, который принимает веб-сайты и пропускает первые 20 символов и печатает следующий 100.Unhashable наберете «ломтик»
Это код, который я до сих пор:
i = 0
while i <len(urls):
html = urllib.request.urlopen(urls[i])
bsobject = BeautifulSoup(html.read(), "html.parser")
print(bsobject.body[20:120])
i+=1
Я запустить его и он дает мне ошибку «TypeError: unhashable типа:„срез“»
Любая помощь приветствуется :)
«bsobject.body» - это объект, чтобы получить текст, похожий на 'bsobject.body.string [20: 120]' –
'bsobject.body' является объектом BeautifulSoup' Tag', а не строкой. Он представляет собой анализируемую структуру тела документа, а не только последовательность символов. – user2357112
Сторона комментария к вашей петле. Более питоновский цикл будет «для URL-адресов в URL-адресах:». Тогда вам не нужно 'i' вообще. – CAB