@kiddle

Как разбить данные в регулярных выражениях?

Здравствуйте, у меня такой вопрос: мне нужно из html кода вытащить данные между тегами <b></b> и </b>(<br><br/>).
Я пытаюсь это сделать следующим образом:
for p in soup.find('div', id='cont_txt').findAll('p'):
    print(re.findall(r'(?<=<b>).*?(?=</b>)|(?<=</b>).*?(?=</p>|<br>|<br/>)', str(p).encode('ISO-8859-1').decode('windows-1251')))

Как мне составить шаблон выражения?

<div id="cont_txt">
<h1>Декларация о соответствии Д-RU.АЯ96.В.00340</h1>
<h2>МОЛОКО КОРОВЬЕ СЫРОЕ<br />
</h2>
<div style="width: 300px; padding-bottom: 30px; padding-top: 20px;"><form accept-charset="utf-8" class="search" action="/reestr-declaratcii-sootvetstviia/ysearch.php" method="get"><input class="input" name="searchid" type="hidden" value="2304877" /><input class="input" name="text" type="text" placeholder="Поиск в реестре" /><input class="submit" name="" type="submit" value="" /><input class="input" name="web" type="hidden" value="0" /></form></div>

  <form accept-charset="utf-8" action="reg_number_search.php" method="get">
   <p><strong>Декларация о соответствии №</strong>  <input style="width: 280px;" class="input" name="str" type="text" placeholder="Например: РОСС RU.ФМ05.Д47188"> 
   <input type="submit" value="Перейти"></p>
  </form>
  <p> </p>
<h4>Сведения из реестра:</h4><p><b>Тип:</b> Декларация РФ</p><p><b>Регистрационный номер:</b> Д-RU.АЯ96.В.00340</p><p><b>Дата начала действия:</b> 21.12.2011</p><p><b>Дата окончания действия:</b> 21.12.2012</p><p><b>Схема декларирования:</b> 2д</p><p><b>Сведения о заявителе:</b></p><p style="padding-left: 20px;"><b>Тип заявителя</b> - Заявитель Юридическое лицо<br /><b>Полное наименование/ФИО ИП</b> - Общество с ограниченной ответственностью Агрофирма им. Л.М.Овчинникова<br /><b>ФИО руководителя</b> - А.А.Иванов<br /><b>Номер телефона</b> - (83636 )9-51-41<br /><b>ОГРН</b> - 1021200663461<br /><b>Адрес места нахождения ЮЛ/ИнЮЛ или жительства ИП</b> - Россия, Республика Марий Эл, Новоторъяльский район, с. Пектубаево, Микрорайон, д.3, 425443<br /></p><p><b>Сведения об изготовителе:</b></p><p style="padding-left: 20px;"><b>Тип изготовителя</b> - Изготовитель Юридическое лицо<br /><b>Полное наименование ЮЛ или ФИО ИП</b> - Общество с ограниченной ответственностью Агрофирма им. Л.М.Овчинникова<br /><b>Номер телефона</b> - (83636 )9-51-41<br /><b>ОГРН</b> - 1021200663461<br /></p><p><b>Сведения о продукции:</b></p><p style="padding-left: 20px;"><b>Тип объекта декларирования</b> - Серийный выпуск<br /><b>Полное наименование продукции</b> - МОЛОКО КОРОВЬЕ СЫРОЕ<br /></p><p><b>Таблица стандартов:</b></p><p style="padding-left: 20px;"><b>Номер приложения для таблицы стандартов </b> - 56<br /></p><p><b>Сведения об органе по сертификации:</b></p><p style="padding-left: 20px;"><b>Полное наименование</b> - ОРГАН ПО СЕРТИФИКАЦИИ ПРОДУКЦИИ И УСЛУГ ООО &quot;МАРИЙСКИЙ ЦЕНТР СЕРТИФИКАЦИИ И ЭНЕРГОСБЕРЕЖЕНИЯ&quot;<br /><b>Номер аттестата</b> - РОСС RU.0001.10АЯ96<br /><b>ФИО руководителя</b> - И.П.Чуракова<br /><b>Адрес места нахождения</b> - ул. Тургенева, д. 9, г. Йошкар-Ола, Республика Марий Эл, 424006, тел. (8362) 72-00-30, факс 72-00-30<br /></p></div>
<p> </p>
<div id="yandex_ad1">
<div style="text-align:center;">
<div id="yandex_ad" style="display: inline-block;"></div>
</div>
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
LazyTalent
@LazyTalent
Data Engineer, Freelancer
for p_tag in soup.find('div', id='cont_txt').findAll('p'):
    [x for x in p_tag.contents if getattr(x, 'name', None) != 'br']
Ответ написан
Ваш ответ на вопрос

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

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