Я пытаюсь извлечь символ с веб-сайта и сравнить его с символом, который я объявил в коде.
В моем случае я просматриваю возможные элементы в файле BeautifulSoup в поисках совпадать с буквой Z, когда я звоню .getText()
. Всякий раз, когда я пытаюсь сравнить символы, я получаю это сообщение об ошибке - SyntaxError: недопустимый синтаксис.
Я также сбит с толку, потому что, когда я объявляю их не в for l oop, все работает нормально.
Вот мой код:
import requests, bs4
res = requests.get('https://www.example.com')
try:
res.raise_for_status()
except Exception as exc:
print('There was a problem: %s' % (exc))
noStarchSoup = bs4.BeautifulSoup(res.text)
ZElems = noStarchSoup.select('li')
TElems = noStarchSoup.select('a')
for x in range (0, 25):
char1 = ZElems[x].getText()
char2 = 'Z'
if char1 == char2
url = TElems[x].get('href')
print(url)
Вот результат, который я получаю:
if char1 == char2
^
SyntaxError: invalid syntax
Если я объявлю char1
и char2
вне for l oop и если char1
находится в позиции 0 в массиве, сравнение работает нормально. Позиция 0 соответствует 'A'
.
>>> import requests, bs4
>>>
>>> res = requests.get('https://www.example.com')
>>> noStarchSoup = bs4.BeautifulSoup(res.text)
>>> ZElems = noStarchSoup.select('li')
>>> TElems = noStarchSoup.select('a')
>>> char1 = ZElems[0].getText()
>>> char2 = 'A'
>>> char1 == char2
True
Есть ли что-то, что мне не хватает в сравнении символов в Python?