prolisk
@prolisk
Верстая. Криво.

Как добавить в маску на питоне уникод \xa0?

Нужно сделать поиск по маске.
Сейчас 99% товаров выводится, но несколько из-за кода   в html не выводят.
Удалял его replace'ом, добавлял в маску и $nbsp; и \xa0 (и другие вариации), но все равно этот товар отображать не хочет.
Раньше другие символы unicode в маске добавлял вот так (\u2122 и др) и все работает.
А этот не хочет. Подскажите.
Сейчас маска вот такая:
name_tovar = re.findall('\<b\>+[a-zA-Z0-9_/.?"= \>\< \\ \/-\: &amp;]+\<\/b',page)
  • Вопрос задан
  • 479 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alex-t
Прогр. в команде rco.ru
1. Внутри квадратных скобок регэкспа все символы воспринимаются либо по одному, либо диапазоном через минус. Поэтому & amp; значит либо &, либо a, либо m ... И пробел в квадратных скобках незачем повторять.
2. Если не ставить перед строковой константой r, то обработка символа \ происходит в зависимости от следующего символа, что легко сбивает программиста. Чаще всего определяют регэксп с ним, т.е. r'\< и т.д.', так удобнее.
3. Чтобы просто найти первый товар в тегах прочитайте про нежадный оператор +
4. И все-таки разбор HTML регэкспами можно делать только там, куда нет возможности поставить библиотеку разбора HTML, например, lxml.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы