У меня есть шаблон документа MS Word с тегами структурированных документов, включая повторяющиеся разделы.Я использую скрипт Python, чтобы вытащить важные части и отправить их на информационный фрейм.Мой сценарий работает так, как задумано, на 80% документов, которые я пытался, но у меня часто не получается.Проблема заключается в том, что при поиске первого повторяющегося раздела я делал следующее:
from bs4 import BeautifulSoup as BS
soup = BS(f, 'xml') # entire xml; file is called soup
soupdocument=soup.document #document only child node of soup
soupbody=soupdocument.body # body is the only child node of document
ODR=soupbody.contents[5]
, что часто работает, однако некоторым пользователям удалось нажать ввод в некоторых местах документа, которые не заблокированы.Я знаю, что проблему следует решить, не выбирая 5-й элемент супов.
soupbody.find_all({tag})
><w:tag w:val="First Name"/>,
<w:tag w:val="Last Name"/>,
<w:tag w:val="Position"/>,
<w:tag w:val="Phone Number"/>,
<w:tag w:val="Email"/>,
<w:tag w:val="ODR Repeating Section"/>,
Выше приведен частичный список того, что возвращается фактический список, несколько десятков тегов, а некоторые повторяются.секция, которую я хочу, является последней, которую я перечислил выше, и обычно, но не всегда, обнаруживается первым блоком кода.Я полагаю, что могу поставить двоеточие после find_all ({tag: SOMETHING}}. Я пробовал вырезать и вставлять все разные части "ODR Repeating Section", но он не работает. Как правильно найти этот раздел?