Вы можете найти все вопросы и ответы, используя find_all('speaker', type='q')
и find_all('speaker', type='a')
соответственно. Затем используйте zip
, чтобы присоединиться к соответствующему вопросу и его ответу.
Код:
questions = soup.find_all('speaker', type='q')
answers = soup.find_all('speaker', type='a')
for q, a in zip(questions, answers):
print(' '.join((q.p.text, a.p.text)))
Выход:
Good morning. First of all, Happy New Year. Happy New Year, sir.
Thank you. How is your pain now?. Oh, it's better now. I think i am healing.
Если вы хотите, чтобы это было в списке, вы можете использовать понимание списка :
q_and_a = [' '.join((q.p.text, a.p.text)) for q, a in zip(questions, answers)]
print(q_and_a)
# ['Good morning. First of all, Happy New Year. Happy New Year, sir.',
# "Thank you. How is your pain now?. Oh, it's better now. I think i am healing."]