Python Beautiful Soup查找具有该类的精确字符串值的标记

时间:2015-10-22 01:21:11

标签: python python-2.7 beautifulsoup

我试了几个小时才找到解决方案,我找到的代码要么返回包含我尝试匹配的类之一的所有标记,要么包含我的所有类但是包含一些额外的类,但是我想要这些类完全匹配。

以下解决方案并不适合我,因为它假设:

您还可以搜索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 个答案:

答案 0 :(得分:0)

soup_page.find_all("ul", class_="mvn listInline")只能找到具有EXACTLY类属性的ul mvn listInline您需要使用css选择器: soup.select("ul.mvn.listInline")