Это не самый эффективный способ, но вы можете попробовать:
file = open(File_Path,'r') #open my file ( be careful with encoding)
text = file.readlines() #extract the content of the file
file.close() #close my file
Goal = [] # will include all the lines beetwen Executives and Analysts
for indice,line in enumerate(text):
if "<p><strong>Executives</strong></p>" in line:
"""
when the line with "<p><strong>Executives</strong></p>" is found, it will add to Goal all the next line until <p><strong>Analysts</strong></p> appear in a line
"""
i = 1
while not("<p><strong>Analysts</strong></p>" in text[indice+i]):
Goal.append(text[indice+i])
i +=1
break
print(Goal)
самая важная часть находится в основном l oop, чтобы вы могли адаптировать его к своей программе
если вы знаете количество строк между руководителями и аналитиками, вы можете заменить while l oop на:
Goal = text[indice+1:indice+<number_of_line + 1>]
и удалить: i = 1
Таким образом вы сохраните маркер (например:
...
) и "\ n" во всех ваших строках
Вы можете удалить все "\ n" в строке с помощью встроенной функции:
line = line.replace("\n","")
Существует несколько способов получения данных между маркерами, например использование handle_data в htmlparser, или вы можете использовать функцию findall в re:
data_in_line = re.findall(r'>(.*?)<',line)
data_in_line будет списком всех данных, которые относятся к шаблон r '> (. *?) <', поэтому все данные находятся между '>' и '<' </p>
. Например: '
atest
'
вернется ['atest']
Было ли это полезно для вас?