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

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

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

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

Похожие вопросы