Я знаю, что это может быть очень просто, но я не мог найти правильный способ справиться с этим. У меня есть HTML-документ, который я хочу извлечь из него. Тело тела этого документа:
<div class="articleContent">
<div class="dateblock">
<div class="textsize">
<span class="textsize_label">
Font Size</span> <a href="javascript:decreaseFontSize();"
title="Increase font-size" class="txtsizeminus"><span>-</span></a> <a href="javascript:increaseFontSize();"
title="Increase font-size" class="txtsizeplus"><span>+</span></a>
</div>
<p class="article_date">
Last Update: date
</p>
</div>
<div id="ctl00_ctl00_cpAB_cp1_cbcContentBreak">
<div class="zoomMe">
<P>The Content is here</p>
</div>
То, что я хочу, - это содержание документа, а не другая информация, например "Размер шрифта" и "Последнее обновление". Но так как все эти данные являются дочерью "articleContent", я не знаю, как избавиться от них. Я должен отметить, что, поскольку эта дополнительная информация может меняться от одного документа к другому, я не могу использовать простые регулярные выражения, чтобы удалить их из окончательных строк. Я должен отфильтровать их, пока обрабатываю HTML файл. Я должен добавить, что я использую следующие команды для извлечения этой части документа, а также его содержимого:
body = soup.find("div", {"class":"articleContent"})
pars= [s for s in body.strings if s.strip() != '']
Итак, возникает вопрос, как избежать дополнительной информации в массиве "pars"?
Есть идеи? благодаря
Вы пытались просто найти конкретный тег, который хотите?
desired_div = soup.find("div", attrs={"class": "zoomMe"})
print(desired_div.text)