PythonFind标记具有类的精确字符串值

PythonFind标记具有类的精确字符串值,python,python-2.7,beautifulsoup,Python,Python 2.7,Beautifulsoup,我花了几个小时试图找到一个解决方案,我找到的代码要么返回包含我试图匹配的一个类的所有标记,要么包含我的所有类,但其中包含一些额外的类,但我希望这些类完全匹配 以下解决方案对我不起作用: 您还可以搜索class属性的确切字符串值: css_soup.find_all("p", class_="body strikeout") 我可以在本地从HTML示例获取以下标记,但无法获取我在Complete code部分请求的页面的标记: <ul class="mvn listInline">.

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

以下解决方案对我不起作用:

您还可以搜索class属性的确切字符串值:

css_soup.find_all("p", class_="body strikeout")
我可以在本地从
HTML示例
获取以下标记,但无法获取我在
Complete code
部分请求的页面的标记:

<ul class="mvn listInline">..</ul> 
soup\u页面。find\u all(“ul”,class=“mvn listInline”)
只能查找具有确切类属性的
ul
,您需要使用css选择器:
soup.select(“ul.mvn.listInline”)
soup\u页面。find\u all(“ul”,class=“mvn listInline”)
只能查找具有确切类属性的
ul
,您需要使用css选择器:
soup.select(“ul.mvn.listInline”)

您能提供一个您面临问题的html示例吗?
  • $325000
  • 3 bd 2 ba 2080平方英尺
    • $325000
    • 3 bd 2 ba 2080平方英尺>3 bd 2 ba 2080平方英尺
    请在问题中更新。此外,请更新您的beautifulsoupI版本。我试图仅获取第一个ul标记(
    ),但失败,因为其他ul标记也将返回。您确定使用的是上面给出的确切代码吗?我对此没有任何异议。您能提供一个您面临问题的html示例吗?
    • $325000
    • 3 bd 2 ba 2080平方英尺
      • 325000美元“>3 bd 2 ba 2080平方英尺
      请在问题中更新。此外,请更新您的beautifulsoupI版本。我试图仅获取第一个ul标记(
      ),但失败,因为其他ul标记也将返回。您确定使用的是上面给出的确切代码吗?我对此没有任何异议,这正是我想要的。它适用于本地html文件,但不适用于我请求的页面。不知道是什么原因。我可以在源代码检查器中看到带有这两个类的标记。@AaronMoose我在该页面上看不到任何类名为
      mvn listInline
      的元素。不要相信督察。元素/属性可以通过javascript添加,在这种情况下,BeautifulSoup无法解析这些元素/属性。我明白了,这是有道理的。谢谢你帮我。我将尝试一种不同的方法来解决我原来的问题。这就是我想要的。它适用于本地html文件,但不适用于我请求的页面。不知道是什么原因。我可以在源代码检查器中看到带有这两个类的标记。@AaronMoose我在该页面上看不到任何类名为
      mvn listInline
      的元素。不要相信督察。元素/属性可以通过javascript添加,在这种情况下,BeautifulSoup无法解析这些元素/属性。我明白了,这是有道理的。谢谢你帮我。我将尝试不同的方法来解决我原来的问题。
      <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