问题描述
我尝试了几个小时才能找到解决方案,找到的代码要么返回包含我尝试匹配的类之一的所有标记,要么包含我的所有类,但其中包含一些额外的类,但是我希望这些类完全匹配。
以下解决方案不适用于我:
您还可以搜索class属性的确切字符串值:
css_soup.find_all("p", class_="body strikeout")
我可以从HTML sample
本地获取以下标记,但无法访问我在“ Complete code
部分中请求的页面:
<ul class="mvn listInline">..</ul>
HTML示例:
<ul class="mvn listInline">
<li class="mbn h4 typeEmphasize">$325,000</li>
<li class="mbn h7">
3 bd 2 ba 2,080 sqft
</li>
</ul>
<ul class="mvn listInline withotherclasses">
<li class="mbn h4 typeEmphasize">$325,000</li>
<li class="mbn h7">
3 bd 2 ba 2,080 sqft
</li>
</ul>
<ul class="mvn onlymvn">
<li class="mbn h4 typeEmphasize">$325,000</li>
<li class="mbn h7">
3 bd 2 ba 2,080 sqft
</li>
</ul>
完整的代码:
page = requests.get('http://www.trulia.com/for_sale/Anchorage,AK/2_p')
soup_page = BeautifulSoup(page.text,'html.parser')
for ul in soup_page.find_all("ul", class_="mvn listInline"):
print ul
1楼
soup_page.find_all("ul", class_="mvn listInline")
只能找到具有完全类属性的ul
mvn listInline
您需要使用CSS选择器: soup.select("ul.mvn.listInline")