のコンテンツに基づいてタグを除外する私は次のようである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>
のタグを取得:私はすべての<p>
タグの結果セットを見つけた後、それはコンテンツだと一緒に
contentlist = soup.find('div', class_='target-content').find_all('p')
私の質問は、どのように私は、単一<p>
をフィルタリングすることができますされ、 <q>
が含まれていますか?音符の
:soup.find('div', class_='target-content')find_all('p')
から結果セットを取得した後、私は繰り返し、次のようにリストに設定された結果から、各<p>
を追加してい:
content = ''
for p in contentlist:
content += str(p)
は、私が理解しようとしている正確に何をしたこと、ありがとうございます。説明もありがとう。私はBeautifulsoupと同じくらい頻繁にCSSセレクタを使用するとは思わない。 – theeastcoastwest