<div class="menu-drop-main">
<ul class="menu-drop-list">
<li><a href="/list.html?cat=1316,16831" title="男士面部护肤">男士面部护肤</a></li>
<li><a href="/list.html?cat=1316,16832" title="美妆工具">美妆工具</a></li>
<li><a href="/list.html?cat=1316,1381" title="面部护肤">面部护肤</a></li>
<li><a href="/list.html?cat=1316,1387" title="香水彩妆">香水彩妆</a></li>
</ul>
</div>
如果我想使用'select‘而不是'find',我能得到4个'li’标签的列表吗?
tags = soup.select('div ul .menu-drop-main')
发布于 2021-04-13 07:36:25
您可以使用soup.select('.menu-drop-main li')
。这将选择tag with class="menu-drop-main"
下的所有<li>
标签
from bs4 import BeautifulSoup
html_doc = """<div class="menu-drop-main">
<ul class="menu-drop-list">
<li><a href="/list.html?cat=1316,16831" title="男士面部护肤">男士面部护肤</a></li>
<li><a href="/list.html?cat=1316,16832" title="美妆工具">美妆工具</a></li>
<li><a href="/list.html?cat=1316,1381" title="面部护肤">面部护肤</a></li>
<li><a href="/list.html?cat=1316,1387" title="香水彩妆">香水彩妆</a></li>
</ul>
</div>"""
soup = BeautifulSoup(html_doc, "html.parser")
print(*soup.select(".menu-drop-main li"), sep="\n")
打印:
<li><a href="/list.html?cat=1316,16831" title="男士面部护肤">男士面部护肤</a></li>
<li><a href="/list.html?cat=1316,16832" title="美妆工具">美妆工具</a></li>
<li><a href="/list.html?cat=1316,1381" title="面部护肤">面部护肤</a></li>
<li><a href="/list.html?cat=1316,1387" title="香水彩妆">香水彩妆</a></li>
https://stackoverflow.com/questions/67066833
复制相似问题