当前位置: 代码迷 >> python >> Python Beautiful Soup查找带有类的确切字符串值的标记
  详细解决方案

Python Beautiful Soup查找带有类的确切字符串值的标记

热度:51   发布时间:2023-06-13 15:15:54.0

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

以下解决方案不适用于我:

您还可以搜索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 

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