Я разбираю несколько отдельных страниц с помощью BeautifulSoup.Обработка исключений с BeautifulSoup
Несколько страниц анализируются, и на определенном сайте становится ясно, что синтаксический анализ не выполняется.
Я ищу, чтобы извлечь следующий тег:
<span class="black20b">$27.99</span>
Я использую следующий селектор, чтобы получить метку. В самом деле, я попробовал два разных них и получил те же результаты:
price = individual_page.find("span", {"class","black20b"})
price = ''.join(price.findAll(text=True))
я решил напечатать результат цены ДО джойн выполняются на несколько файлов, и это результат:
...
Downloading: File...
<span class="black20b">$7.79</span>
Downloading: File...
<span class="black20b">$27.99</span>
Downloading: File...
None
Последний селектор возвращает «Нет». Проверка на конкретный случай, оказывается, что по разным причинам цвет окрашен по-разному. Другими словами, этот тег не существует.
Как я могу справиться с этим исключением?
Каковы возможности других имен классов? Поскольку регулярное выражение, вероятно, является решением здесь – TerryA
Класс может быть, в этом случае, по крайней мере, black20b или red13b. Можно ли это как-то справиться? Или это можно сказать, если он возвращает NONE, чтобы ничего не делать? – Dynelight
Ну, чтобы он не печатал 'Нет', просто добавьте:' matching = individual_page.find («span», {«class», «black20b»}); если совпадение: price = matching' или что-то подобное – TerryA