Моя проблема в том, что в ситуации, подобной примеру ниже, мне нужно получить TEXT # 1 и TEXT # 2 в class = cls_003 и сохранить их как отдельные строки. В настоящее время я использую Python, BeautifulSoup и regex, чтобы открыть веб-страницу, и re.findall, чтобы получить необходимые div, а затем получить текст, используя BeautifulSoup. Есть ли лучший способ сделать это?
HTML страница, которую я пытаюсь очистить:
<div style="xxxx" class="cls_003"><span class="cls_003">----TEXT #1---</span></div>
<div style="xxxx" class="cls_003"><span class="cls_003">----TEXT #1---</span></div>
<div style="yyyy" class="cls_007"><span class="cls_007">----UNNECESSARY TEXT---</span></div>
<div style="yyyy" class="cls_007"><span class="cls_007">----UNNECESSARY TEXT---</span></div>class="cls_009">'r'End</span></div>
<div style="xxxx" class="cls_003"><span class="cls_003">----TEXT #2---</span></div>
<div style="xxxx" class="cls_003"><span class="cls_003">----TEXT #2---</span></div>
</div>class="cls_009">'r'End</span></div>
Python код, который у меня сейчас есть работает
soup_string = str(soup)
results = re.findall(r'(?m)<div style="xxxx" class="cls_003">.*?class="cls_009">'
r'End</span></div>', soup_string, flags=re.S)
soup2 = BeautifulSoup(results, features="lxml")
for result in results:
result_parsed = soup2.findAll("div", {"class": "cls_003"})
for q in result_parsed:
print(q.text)
print('\n')