我试了几个小时才找到解决方案,我找到的代码要么返回包含我尝试匹配的类之一的所有标记,要么包含我的所有类但是包含一些额外的类,但是我想要这些类完全匹配。
以下解决方案并不适合我,因为它假设:
您还可以搜索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
答案 0 :(得分:0)
soup_page.find_all("ul", class_="mvn listInline")
只能找到具有EXACTLY类属性的ul
mvn listInline
您需要使用css选择器:
soup.select("ul.mvn.listInline")