当我通过字典过滤类过滤时,无法在beautifulsoup中找到标签

时间:2016-08-07 09:50:18

标签: python web-scraping beautifulsoup

以下是我的代码。

import urllib
from BeautifulSoup import *
html=urllib.urlopen('http://yellowpages.sulekha.com/coffee-shops-bars-restaurants_delhi')
soup=BeautifulSoup(html)
tags=soup.findAll("li",{ "class" : "list-item" })

print tags

我希望找到所有的' li'标签有一个' list-item'。当我执行上面的代码时,它返回一个空列表,但是当我输入它为

tags=soup.findall("li","list-item")

它返回正确的列表,其中包含所有必需的' li'标签。任何人都可以告诉我为什么会这样?我正在使用python 2.7和beautifulsoup3。

1 个答案:

答案 0 :(得分:1)

我去看看你试图搜索的网站并搜索list-item。然后我看到了类似下面的东西

<li class="list-item " itemtype="http://schema.org/LocalBusiness" itemscope="">

我看到该课程为"list-item "而非"list-item"。当我向代码添加额外空格时,它会返回包含所有列表项的列表。