Я хочу просканировать страницу с часто задаваемыми вопросами с использованием Beautifulsoup, но у меня возникли проблемы при печати данных.
, например:
Q: question1111
A: answer1111
Q: question2222
A: answer2222
for q in question:
print(q)
for a in answer:
print(a)
вывод выглядит так:
question1111
answer1111
answer2222
question2222
answer1111
answer2222
то, что я хочу, таким образом:
question1111
answer1111
question2222
answer2222
Затем я пытаюсь использовать перерыв,
for q in question:
print(q)
for a in answer:
print(a)
break
вывод стал:
question1111
answer1111
question2222
answer1111
я попытался продолжить и пройти, все еще не работает
Есть ли способ запустить внутренний цикл один раз, а затем вернуться к внешнему циклу, повторяя ??
ДОБАВЛЕНО НИЖЕ
HTML выглядит так:
<div>
<h4 class="mod-wysiwyg__small-heading">Question1</h4>
</div>
<div>
<p class="mod-wysiwyg__text">Answer1... paragraph1</p>
</div>
<div>
<p class="mod-wysiwyg__text">Answer1...paragraph2</p>
</div>
<div>
<h4 class="mod-wysiwyg__small-heading">Question2</h4>
</div>
<div>
<p class="mod-wysiwyg__text">Answer2</p>
</div>
<div>
<h4 class="mod-wysiwyg__small-heading">Question3</h4>
</div>
код для сканирования html:
if r.status_code == requests.codes.ok:
soup = BeautifulSoup(r.text, 'html.parser')
question = soup.find_all('h4', class_='mod-wysiwyg__small-heading')
answer = soup.find_all('p', class_='mod-wysiwyg__text')
for q, a in zip(question, answer):
print("- - " + q.text[3:], file=open("output.txt",'a'))
print(" - " + a.text, file=open("output.txt",'a'))
вывод выглядит так:
Question1
Answer1... paragraph1
Question2
Answer1...paragraph2
Question3
Answer2