Соответствие шаблону не работает как ожидалось. Python

Я играл с шаблонами в разных html-кодах сайтов, я заметил что-то странное. Я использовал этот шаблон:

pat = <div>.*</div>

Я использовал его на странице приложения в магазине воспроизведения (выбрано случайное приложение). Поэтому, согласно мне, это должно просто дать то, что между тегами div (т.е. описание), но этого не происходит. Я даю все, начиная с первого шаблона и продолжая до тех пор, пока последняя страница не будет полностью игнорироваться. Кто-нибудь знает, что происходит?!

И я проверяю, что длина списка вернула ему всего 1.

1 ответ

Прежде всего, не разбирайте HTML с регулярным выражением, используйте специализированный инструмент - парсер HTML. Например, BeautifulSoup:

from bs4 import BeautifulSoup

data = """
<div>
 <div>
 Do not try to get me with a regex, please.
 </div>
</div>
"""

soup = BeautifulSoup(data)
print soup.find('div', {'class': 'id-app-orig-desc'}).text.strip()

Печать:

Do not try to get me with a regex, please.

licensed under cc by-sa 3.0 with attribution.