Я выскабливание HTML данные, похожее на следующее:Исключить метки в зависимости от содержания в BeautifulSoup
<div class="target-content">
<p id="random1">
"the content of the p"
</p>
<p id="random2">
"the content of the p"
</p>
<p>
<q class="semi-predictable">
"q tag content that I don't want
</q>
</p>
<p id="random3">
"the content of the p"
</p>
</div>
Моя цель состоит в том, чтобы получить все <p>
теги, наряду с их содержанием, в то время как будучи в состоянии исключить тег <q>
, а также его содержимое. В настоящее время я получаю все <p>
тегов со следующим подходом:
contentlist = soup.find('div', class_='target-content').find_all('p')
Моим вопрос, после того, как я считаю, результирующий набор всех <p>
тегов, как можно отфильтровать одного <p>
, наряду с его содержанием, который содержит <q>
?
Из Примечания: после получения набора результатов от soup.find('div', class_='target-content')find_all('p')
, я итеративно добавляя каждый <p>
из результирующего набора в список следующим образом:
content = ''
for p in contentlist:
content += str(p)
Спасибо, это было именно то, что я пытаюсь понять. Благодарим вас за объяснение; Я не думаю, что использовать селектор CSS так часто, как я должен с Beautifulsoup. – theeastcoastwest