/ / line = line.strip () TypeError: 'NoneType' об’єкт не може викликати - python, object, typeerror, calllable, nonetype

line = line.strip () TypeError: об'єкт "NoneType" не можна викликати - python, object, typeerror, callable, nonetype

Я намагаюся знайти всі num "s у списку з HTML beautifulsoup:

import urllib
from BeautifulSoup import *
import re

line = None
url = raw_input("Enter - ")
html = urllib.urlopen(url).read()

soup = BeautifulSoup(html)

# Retrieve all of the anchor tags
tags = soup("span")
for line in tags:
line = line.strip()
numlist = re.findall("[0-9]+" , tags)
print numlist`

Я отримую прослідку:

Traceback (останній останній дзвінок): Файл "C: Документи та Налаштуванняmea388DesktopPythonSchoolnew 12.py ", рядок 14, в line = line.strip () TypeError: "NoneType" об'єкт не можна викликати

Я не можу зрозуміти, чому я отримую трекбек.

Відповіді:

1 для відповіді № 1

Це тому, що ви намагаєтеся запустити смужку на клас тегів у межах прекрасного супу.

Змініть рядок 14 на:

 line = line.string.strip()

Однак майте на увазі, що це все ще може бути None, коли тег, який ви шукаєте, має кілька піделементів. Seee посилання на метод струн на doco для красивого супу