.select()要素を使用すると、CSSセレクタに基づいてWebページから要素を取得できますが、Webページ全体を検索します。 .select()はどのように使うのですか?特定の要素の子だけを検索します。例:Python Beautiful Soup 4 .select()で要素の子を取得
<!-- Simplified example of the structure -->
<ul>
<li>
<div class="foo">foo content</div>
<div class="bar">bar content</div>
<div class="baz">baz content</div>
</li>
<li>
<!-- We can't assume that foo, bar, and baz will always be there -->
<div class="foo">foo content</div>
<div class="baz">baz content</div>
</li>
<li>
<div class="foo">foo content</div>
<div class="bar">bar content</div>
<div class="baz">baz content</div>
</li>
</ul>
私が言う方法をしたい:<li>
ため [0] fooが値"foo content"
が含まれて、バーが値"bar content"
などが含まれてい...
現在、私の解決策は以下の通りです:
foos = soup.select("div.foo")
bars = soup.select("div.bar")
bazs = soup.select("div.baz")
for i in range(len(foos)):
print("{i} contains: {} and {} and {}".format(i=i, foos[i], bars[i], bazs[i]))
これはほとんどの場合有効です。しかし、それは要素が唯一のものから欠けているとき完全に崩壊する。私がHTMLで示したように、3つのbar、baz、foo要素が存在するとは想定できません。
したがって、私はどのようにしてlisの子のみを検索しますか?
for i in soup.select("li"):
#how would i do this:
foo = child_of("li", "div.foo")????
bar = child_of("li", "div.bar")????
baz = child_of("li", "div.baz")????