Недавно я работал над проектом по соскобам. Я немного новичок в этом, но смог сделать почти все, но у меня возникли проблемы с небольшой проблемой. Я захватил каждую строку новостной статьи, делая это:
lines=bs.find('div',{'class':'Text'}).find_all('div')
Но по некоторым причинам есть строки, которые содержат тег h2
и тег br
, например:
<div><div><h2>Header2</h2></div><div><br/></div><div>Paragraph text
Так что, если я запускаю .text
в этом фрагменте, я получаю «Header2Paragraph text». У меня есть текст "Header2", хранящийся в другой строке, поэтому я хочу удалить это второе появление.
Мне удалось выделить эти строки, выполнив следующее:
for n,t in enumerate(lines):
if t.find('h2') is not None and t.find('br') is not None:
print('\n',n,':',t)
Но я не знаю, как стереть текст, связанный с тегом h2
, поэтому эти строки становятся «текстом абзаца» вместо «текста Header2Paragraph». Что я могу сделать? Спасибо